大文字・小文字変換
package TestHoge; sub new { my $class = shift; my $self = bless{}, $class; return $self; } sub hoge { my $self = shift; print "aaaa"; } sub AUTOLOAD { my $self = shift; print "bbbb"; } package main; use TestHoge; my $test = new TestHoge(); $test->hoge; #=> aaaa $test->nuko; #=> bbbb
AUTOLOADは、クラス内のサブルーチンを参照しようとして見つからなかった場合に呼び出されるサブルーチン…って定義であってるかな。
最近ようやくAUTOLOADについて知りました。
本当にPerlは奥が深い…というか、単純に僕が詳しくなさ過ぎるだけなのですが。
大文字小文字の変換。
my $hoge = 'abcdefg';
print uc($hoge); #=> Abcdefg
print ucfirst($hoge); #=> ABCDEFGmy $hoge2 = 'ABCDEFG';
print lc($hoge); #=> aBCDEFG
print lcfirst($hoge); #=> abcdefg
こんな便利な関数があったのね…。
あと、eval関数がeval()とeval{}で評価方法が違うことをしってびっくりしたw