printとstatでつまづいた話
statの挙動なんだっけーと思いつつ以下のようにしたらエラーになった。
$ perl -le 'print (stat("test.pl"))[9]' syntax error at -e line 1, near ")["
え、statは配列を返すからそのスライスってことであってるでしょーと文句を言いたくなったけれど、
右ばっかり見てて、よく見たらprint()してた。
つまりこう解釈されてたわけだ。
# error $ perl -le 'print(stat("test.pl"))[9]'
「関数呼び出しに添え字なんてつけられません」ということだった。
だからまあきっちりやるなら
# ok $ perl -le 'print ((stat("test.pl"))[9])'
かっこで外側をくくってやればよい。