我知道我在这里遗漏了一些简单的东西,但我无法弄明白并且谷歌无法正常工作
我正在尝试使用$F
的值,但它无效。我将省略一些代码。我得到一个错误,基本上说$f
需要一个特定的包名
sub captureFile()
{
my $F = $File::Find::name;
if ($F = ~/txt$/)
{
$F=~ s:(.*)(\/reports\/.*):$2:;
loadEnvironmentProperties($F);
}
}
sub loadEnvironmentProperties()
{
print $F;
}
答案 0 :(得分:8)
始终use strict; use warnings;
!
您尝试将$ F指定为参数
loadEnvironmentProperties($F);
^^
到你声明的函数没有参数
sub loadEnvironmentProperties()
^^
你从未真正阅读过loadEnvironmentProperties
中的论据。你想要:
sub loadEnvironmentProperties {
my ($F) = @_;
print $F;
}
答案 1 :(得分:2)
$ F不存在第二个子程序,因为你没有把它从参数数组中取出来
sub loadEnvironmentProperties()
{
my $F = shift;
print $F;
}