http://www.perlmonks.org?node_id=373896

Searching Backwards

Want to search backwards through a string, but don't want to have to reverse the string first? I had a need to do this recently in a golf problem ("reverse" is just too damn long). If you don't mind destroying your string, use s///:
$foo = '1 a 2 b 3 c'; while($foo =~ s/(\d)[\D]*$//) { print $1; } __output__ 321