使用未初始化的值

时间:2013-06-01 18:07:28

标签: perl perl-data-structures

我正在尝试执行这个简单的代码,但它已经给我以下错误:

在permutation.pl第11行的字符串中使用未初始化的值$ string。

#!usr/bin/perl

use strict ;
use warnings ;



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

2 个答案:

答案 0 :(得分:5)

您没有将任何参数传递给message,因此其@_为空,因此您将undef分配给$string,这会在{$string时发出警告1}}是字符串化的。

修正:

message("Hello, world\n");

答案 1 :(得分:4)

确保将非undef值传递给函数(根本不传递参数也属于此类别),或者为输入参数设置默认值。 //=检查变量是否为undef,如果是,则为其设置正确的值(空字符串)。

#!usr/bin/perl

use strict;
use warnings;


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