2005-02 << 2005-03 >> 2005-04

2005-03-06 (日)

*myとlocal

Perlのスクリプトでlocalにしてあった変数をmyで宣言したら,意図した動作をしなくなった.もちろん,その変数を呼び出した先の関数で参照しているようなことは無い.で,原因はe付きの正規表現を使った置換だった.置換の式の中は同じ関数内とみなされないのかな.ちょっとPerlの動作が怪しい気がするのですが….

my $v = "hoge";
s/^(\d+)/$v=$1;"";/e;

こんな感じで書くと変な動作をしてしまいます.myをlocalにすれば問題は起きません.

2005-02 << 2005-03 >> 2005-04