Perl 在sprintf中使用未初始化的值

Perl 在sprintf中使用未初始化的值,perl,warnings,Perl,Warnings,我的代码如下: my ($line_1, $line2); 变量$line_1和$line_2正在从其他函数获取值,这些值可能是定义的或未定义的值 现在我得到了一个错误,比如“使用未初始化的值”,即使在我初始化了 $line_1=”“if(!$line_1) 请在此中帮助我检查变量的定义性(是否为undef),请使用运算符 如果您仍然收到警告,那么perl是正确的,而您的代码是错误的。这里没有魔力。未定义的值会给出“未初始化”警告。我给出了$a=“”、$b=“”。但这也不起作用,因为你正在做一

我的代码如下:

my ($line_1, $line2);
变量
$line_1
$line_2
正在从其他函数获取值,这些值可能是定义的或未定义的

现在我得到了一个错误,比如
“使用未初始化的值”
,即使在我初始化了

$line_1=”“if(!$line_1)


请在此

中帮助我检查变量的定义性(是否为
undef
),请使用运算符


如果您仍然收到警告,那么perl是正确的,而您的代码是错误的。这里没有魔力。

未定义的值会给出“未初始化”警告。我给出了$a=“”、$b=“”。但这也不起作用,因为你正在做一些不正确的事情。您应该知道,
$a
$b
strict
pragma的例外,因为它们是与
sort
函数一起使用的内置函数。在有限的范围内使用
my
时,这可能会导致混淆。简而言之,如果您需要更多帮助,您需要显示更多代码,这些代码演示了您的问题。编辑问题后,它不完全是$a和$b