Sorry, my first solution in the previous post should have been : eval join ";",map { "$1 += $_" if "\$x \$y \$z" =~ m/(\S+)/g } f(); (and 'f' is 'foo') Cheers, Etienne ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe