この単純なコードを実行しようとしていますが、すでに次のエラーが表示されています:
permutation.pl の 11 行目の文字列で、初期化されていない値 $string が使用されています。
#!usr/bin/perl
use strict ;
use warnings ;
sub message {
my ($string) = @_ ;
print "$string" ;
}
message() ;
この単純なコードを実行しようとしていますが、すでに次のエラーが表示されています:
permutation.pl の 11 行目の文字列で、初期化されていない値 $string が使用されています。
#!usr/bin/perl
use strict ;
use warnings ;
sub message {
my ($string) = @_ ;
print "$string" ;
}
message() ;
に引数を渡さなかったmessage
ので@_
空なので、 に割り当てundef
たので、が文字列化$string
されたときにその警告が発生します。$string
修理:
message("Hello, world\n");
関数に非値を渡すundef
ようにする (パラメーターをまったく渡さない場合もこのカテゴリに分類されます) か、入力パラメーターのデフォルト値を作成します。//=
variable が であるかどうかをチェックundef
し、そうである場合はそれに正しい値を設定します (空の文字列)。
#!usr/bin/perl
use strict;
use warnings;
sub message {
my ($string) = @_ ;
$string //= "";
print "$string" ;
}
message() ;