1
私は、月の名前をとるべきであるPerlサブルーチンを書いています。そうでない場合は元の引数を返します。変数はif文の明示的なパッケージ名を必要とします
sub convert_month_to_number {
my ($input) = @_;
my @month_names = qw/January February March April May June July August September October November December/;
my @month_names_short = qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/;
for (my $i = 0; $i < scalar(@month_names); $i = $i + 1){
print "$month_names[$i]\n";
if ($input == $month_names[$i]{
return $i;
}
}
return $input;
}
}
パドレでこれをコンパイルするときしかし、私はエラーが表示されます。
syntax error at additionalscripts.pl line 16, near "}"
Global symbol "$input" requires explicit package name at additionalscripts.pl li
ne 19.
syntax error at additionalscripts.pl line 20, near "}"
Execution of additionalscripts.pl aborted due to compilation errors.
私はなぜこれが起こっている正確にわからないんだけど、私はすでに$を宣言した方法を検討上にグローバル変数として入力します。どんな助けでも大歓迎です。私は現在、Windows上でPerl 5.010を使用しています。
OT:eq' 'と文字列を比較。 – Biffen
'if'行に') 'がありません。 – Biffen
パーサーがスタックしているために残りが発生するため、最初の行を除くすべての行を無視します。 ** addalscripts.pl 16行目の構文エラー。「}」**これを修正してください。 –