どんなことでも

この人 blog を書くのだろうか?

$this が undef

2007-12-18 13:22:42 | perl
さて、また perl
http://blog.livedoor.jp/jigorou/archives/640584.html
とか色々見ながら、パッケージというか、オブジェクト指向っぽいのを書いてみようかと思った。
で、以下。
#! /usr/bin/perl -Tw
use strict;
{
package test_pkg;
sub new{
my $this = shift;

my $data = {
"alpha" => "Alpha",
"beta" => "Beta"
};

return bless $data => $this;
}
}
my $obj_test_pkg = test_pkg::new();
これを動かすと、bless の引数の $this が undef だとエラーが出る。
第一引数には自動的にパッケージ名が入るのではないのか?とか思った。
で、最後の1行を
my $obj_test_pkg = test_pkg->new();
と書き換えてみた。動いた。う~ん、`::' と `->' は等価ではないのか。perl は謎が多いなぁ。

最新の画像もっと見る

コメントを投稿