2008-12 << 2009-01 >> 2009-02

2009-01-14 (水)

*[Perl] $(ドル記号)と戦う

Perlの変数の頭の $ が邪魔だと思ったことはあると思います.

sub x:lvalue{$x};

x=10;
printf("x=%d\n",x);

あまりきれいじゃないなぁ.

sub var{
    my ($n)=@_; *$n=sub :lvalue{${$n}};
}

var b;
b()='hello\n';
print b();

「var 変数名」で宣言できるようにと思ったけど,プロトタイプ宣言が無いので「()」を省略できない….

sub var{
    my ($n)=@_; *$n=sub :lvalue{${$n}};
}

var b;
sub b:lvalue;
b='hello\n';
print b;

無理矢理プロトタイプを書いてみる.冗長すぎ…最初のが良いな.

2008-12 << 2009-01 >> 2009-02