in reply to unitialized value error in pattern matching script

Most of the time these kind of error messages (I'm assuming you meant uninitialized) only occur under -w and use strict (which are good things!)

Not quite sure exactly what you're trying to do, but here's code that I think'll do it. See if this will fit what you need, and ask if you don't understand.

@foobar = qw('This=that', 'Mine=Yours', 'We=Them'); print map { /(?:.*)_(.*)/; $1 } @foobar;
Cheers,
Erik