0

この単純なコードを実行しようとしていますが、すでに次のエラーが表示されています:

permutation.pl の 11 行目の文字列で、初期化されていない値 $string が使用されています。

#!usr/bin/perl

use strict ;
use warnings ;



sub message {
my ($string) = @_ ;
print "$string" ;
    }
message() ;
4

2 に答える 2

5

に引数を渡さなかったmessageので@_空なので、 に割り当てundefたので、が文字列化$stringされたときにその警告が発生します。$string

修理:

message("Hello, world\n");
于 2013-06-01T18:10:30.180 に答える
4

関数に非値を渡すundefようにする (パラメーターをまったく渡さない場合もこのカテゴリに分類されます) か、入力パラメーターのデフォルト値を作成します。//=variable が であるかどうかをチェックundefし、そうである場合はそれに正しい値を設定します (空の文字列)。

#!usr/bin/perl

use strict;
use warnings;


sub message {
    my ($string) = @_ ;
    $string //= "";
    print "$string" ;
}
message() ;
于 2013-06-01T18:10:31.700 に答える