#! /usr/bin/perl use strict ; use warnings ; my @str = ( 'fdjsflsdfjk foo=123 sdjflsdfjklsfj ', 'sdfhsdfsd bar=42 fkjfjklsfjs', 'zoot=23 ff ', ' nooka=9 ' ) ; foreach (@str) { /^([^=]+)=([[:digit:]]{1,3})(.*)$/ ; printf "[%s] [%s] [%s]\n", $1, $2, $3 ; }