while (m/\G.*?(\w+)($np)/g) { my $name = $1; # get rid out outermost parens my $value = substr($2,1,length($value)-1); print "name=$name value=$value\n"; }