Out of curiosity: Why are you bothering to assign to a variable inside your map statement?

I have not tested it, but I am pretty sure if you run with warnings and strict you will be warned the $a is used only once. Beyond that you really should not use $a or $b as they are special variables used for sort.

They say that time changes things, but you actually have to change them yourself.