Why does $a become an arrayref? I\'m not pushing anything to it.
perl -MData::Dumper -e \'use strict; 1 for @$a; print Dumper $a\'
$VAR1 = [];
<
$a and $b are special variables in Perl (used in sort) and have a special scope of their own.
perl -MData::Dumper -e 'use strict; 1 for @$c; print Dumper $c'
produces
Global symbol "$c" requires explicit package name at -e line 1.
Global symbol "$c" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.