Perlめも(1)
変数名の前の「@」、「$」や「%」は、その変数が何として処理されるかを表わす。とかなんとか。
C:\Perl\bin>perl -e "@a=(1,2,3,4);print @a;" 1234 C:\Perl\bin>perl -e "@a=(1,2,3,4);@a[0,2]=@a[2,0];print @a;" 3214 C:\Perl\bin>perl -e "@a=(1,2,3,4);for(@a[0,3]){print;}" 14 C:\Perl\bin>perl -e "@a=(1,2,3,4);for(@a[0..3]){print;}" 1234 C:\Perl\bin>perl -e "%h=(one=>1,two=>2);print $h{one};" 1 C:\Perl\bin>perl -e "%h=(one=>1,two=>2);print @h{one,two};" 12 C:\Perl\bin>perl -e "%h=(one=>1,two=>2);for(@h{one,two}){print;}" 12 C:\Perl\bin>perl -e "%h=(one=>1,two=>2);@h{one,two}=@h{two,one};for(@h{one,two}){print;}" 21