[Perl] なぜエラーになっているのか理解できないコード

メモ。

これをやると、

#!/usr/bin/perl

abc($a[-1]);
sub abc {}


こうなる。

Modification of non-creatable array value attempted, subscript -1 at a.pl line 5.


まあ、NULL配列に-1の添え字でアクセスしちゃだめだろ、というのは理解できるが、
単にアクセスしただけでは、このエラーは出てこない。

関数に引き渡した時に、何かしらアクセスが行われているようで、その辺が不明。
@_がらみだとは思うのだけれど。
perldocを漁ったら、でてくるんかしらん。perlsubをざっと見た限りでは不明。

Perlの新しいやつなら何もおこらないんかしらん。
少なくともllevalでは発生する事を確認。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック