my ($last) = $in =~ m/(\w+)$/i; print "last=$last\n"; my ($second_to_last) = ($in =~ m/(\w+)/gi)[-2]; #[-1] would have been last print "second to last=$second_to_last\n"; __END__ Prints: last=senthil second to last=foo