おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

perlをはじめて使う

 仕事で初めてperlを使いました。思っていたほど複雑ではないという印象。OOを使ったからかもしれません。呼び出される側のソースコードで、最後に

    1;  

をつけなければならないところとか、仕様的にちょっと納得いかないところはありますが……。
 クラスはpackageを使って定義してあげます。

package ClassSuper;  
 
sub new {  
    my $class = shift;  
    my ($arg1, $arg2) = @_;  
    my $self = {  
        'arg1' => $arg1,  
        'arg2' => $arg2  
    };  
 
    bless $self,$class;  
}  
 
sub put {  
    my $self = shift;  
 
    print $self->{arg1}, "\n";  
}  

のような感じ。インスタンス変数はハッシュで表現するようです。Rubyになれているから、行の最後のセミコロンをついつい忘れてしまいます。
 サブクラスはこんな感じで定義します。

package ClassSub;  
 
use ClassSuper;  
use base qw( ClassSuper );  
 
sub new {  
    my $class = shift;  
 
    my $self = new ClassSuper;  
    bless $self, $class;  
}  
 
sub put2 {  
    my $self = shift;  
 
    print 'arg2: ', $self->{arg2}, "\n";  
}  
 
sub put {  
    my $self = shift;  
 
    print 'arg1: ', $self->{arg1}, "\n";  
    $self->put2();  
}  

という感じでオーバーライドもできます。親クラスのメソッドを使いたいときは SUPER::method() みたいにSUPERで指定してやります。
 はじめてまともにperlに触れてみたけど、なかなかこれもおもしろいですね。