0

我知道我在这里遗漏了一些简单的东西,但我无法弄清楚而且谷歌无法正常工作

我正在尝试使用该值,$F但它不起作用。我将省略一些代码。我收到一个错误,基本上说$f需要特定的包名称

sub captureFile()
{
    my $F = $File::Find::name;
    if ($F = ~/txt$/)
    {
      $F=~ s:(.*)(\/reports\/.*):$2:;
      loadEnvironmentProperties($F);
    }
 }


 sub loadEnvironmentProperties()
 {
    print $F;
 }
4

2 回答 2

8

总是use strict; use warnings;

您尝试将 $F 指定为参数

loadEnvironmentProperties($F);
                          ^^

你声明的函数没有参数

sub loadEnvironmentProperties()
                             ^^

而且您从未真正阅读过loadEnvironmentProperties. 你要:

sub loadEnvironmentProperties {
   my ($F) = @_;
   print $F;
}
于 2013-03-12T20:09:26.733 回答
2

$F 不存在第二个子例程,因为您没有将其从参数数组中取出

sub loadEnvironmentProperties()
 {
    my $F = shift;
    print $F;
 }
于 2013-03-12T20:08:01.070 回答