in reply to Loops and variable usage

Do not use variables named $a and $b.

Perl has predefined variables named $a and $b which are used for sort. It is possible to use them for other purposes (List::Util does), but only via a lot of careful thought (or a lot of luck).

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'