保存要在单独块中使用的表达式的结果

时间:2014-05-10 19:29:39

标签: perl variables store substitution

如您所见,我想在$enkel中存储第一次替换的结果。我在$enkel的印刷品中使用此if

但是当我想在$enkel打印中使用此elsif时,它没有任何价值。我实际上想在$dubbel打印中同时使用$enkelelsif

有没有办法使Perl永久地将它存储在$dubbel中,以便它可以用于其他打印?

if ($inputwoord =~ /((aa|uu|ee|oo)[^aeiour])$/) {
  ($enkel = $inputwoord) =~ s/([aueo])\1/$1/g;
  print "$enkel$buig\n$inputwoord$gen\n$enkel$comp\n$enkel$compe\n$inputwoord$sup\n$inputwoord$supe\n";
}
elsif ($inputwoord =~ /[^aeiou][aeiou]([pktgnmlf])$/) {
  ($dubbel = $inputwoord) =~ s /([pktgnmlf]$)/$1$1/g;
  print "$dubbel$buig\n$inputwoord$gen\n$dubbel$comp\n$dubbel$compe\n$inputwoord$sup\n$inputwoord$supe\n";
} # consonantgeminatie

1 个答案:

答案 0 :(得分:1)

如果要在$enkelif条款中使用if语句,则必须在elsif语句之外计算($enkel = $inputwoord) =~ s/([aueo])\1/$1/g; ($dubbel = $inputwoord) =~ s/([pktgnmlf]$)/$1$1/g; if ($inputwoord =~ /((aa|uu|ee|oo)[^aeiour])$/) { print "$enkel$buig\n$inputwoord$gen\n$enkel$comp\n$enkel$compe\n$inputwoord$sup\n$inputwoord$supe\n"; } elsif ($inputwoord =~ /[^aeiou][aeiou]([pktgnmlf])$/) { print "$dubbel$buig\n$inputwoord$gen\n$dubbel$comp\n$dubbel$compe\n$inputwoord$sup\n$inputwoord$supe\n"; } # consonantgeminatie 的值。喜欢这个

{{1}}