Special package variables when using sort(), see "sort" in perlfunc. Because of this specialness $a and $b don't need to be declared (using use vars, or our()) even when using the strict 'vars' pragma. Don't lexicalize them with my $a or my $b if you want to be able to use them in the sort() comparison block or function.

sort() を使うときの特殊パッケージ変数です; "sort" in perlfunc を 参照してください。 この特殊性により、$a$b は、たとえ strict 'vars' プラグマを 使っているときでも (use varsour() を使って) 宣言する必要が ありません。 これを sort() 比較ブロックや関数で使えるようにしたい場合は、 my $amy $b としてレキシカル化しないでください。