($a,$throw_away) = (("abc" =~ /a(b)c/) , 'd'); #### $a = ( ("abc" =~ /a(b)c/) , 'd' )[0]; #### ($a,$b,$throw_away) = (("abcde" =~ /a(b)c(d)/),('UNDEFINED') x 3); print $a , "::" , $b ; # prints b::d and ($a,$b,$throw_away) = (("abcde" =~ /a(x)c(x)/),('UNDEFINED') x 3); print $a , "::" , $b ; # prints UNDEFINED::UNDEFINED