のダイジェスト。
Scalarによるデフォルト値
sub num{
my $num = shift || -1;
# ....
}
0や''を入力値として用いたい場合は
sub num{
my $num = shift;
$num = -1 if not defined $num;
# ....
}
Perl 5.10.0 以降なら
sub num{
my $num = shift // -1;
# ....
}
Hashによるデフォルト値
以下で一発!
sub conf{
my %arg = (
lang => 'perl',
rank => 1,
@_ # ここが決め手!
);
# ...
}
オブジェクトをnewしたいなら、以下がお手軽。
package A::Module
sub new{
my $pkg = shift;
bless {
lang => 'perl',
rank => 1,
@_
}, ref $pkg || $pkg;
}
Dan the Perl Monger



Leave a comment