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值传递给函数(根本不传递参数也属于此类),或者为输入参数设置默认值。//=检查变量是否存在undef,如果存在,则为其设置正确的值(空字符串)。

#!usr/bin/perl

use strict;
use warnings;


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