Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

ifの戻り値

ただいまプログラミング言語RubyRubyを学習中。
その中で目をひく記述、なんとRubyはifでの戻り値があるらしい。

year  = 2010
month =   11

nendo = if month >= 4 then
    year
  elsif month <= 3 then
    year - 1
  else
    raise
end

puts nendo #=> 2010

Perlでもこんなことできるかなと思ってやったみた。

my $year  = 2010;
my $month =   11;

my $nendo = if ($month >= 4) {
    $year;
} elsif ($month <= 3) {
    $year - 1;
} else {
    die;
}

say $nendo;
syntax error at ./if.pl line 9, near "= if"
Execution of ./if.pl aborted due to compilation errors.

やっぱ無理かー。残念。