map { y/ //d; # delete spaces. None of the words have any, so no-op. $= /= 1.5; # $=, initially 60, can only contain integer values. # Since map runs this 4 times for the 4 elements of @_ # $= becomes 60 -> 40 -> 26 -> 17 -> 11 $.++; # The test ($.-- && redo) ended at 0, which means that # $. ended up with the value -1. Here it becomes 3 $_ }