我正在尝试执行这个简单的代码,但它已经给了我以下错误:
在 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
值传递给函数(根本不传递参数也属于此类),或者为输入参数设置默认值。//=
检查变量是否存在undef
,如果存在,则为其设置正确的值(空字符串)。
#!usr/bin/perl
use strict;
use warnings;
sub message {
my ($string) = @_ ;
$string //= "";
print "$string" ;
}
message() ;