0

ここで単純なものが欠けていることは知っていますが、それを理解できず、Googleが機能していません

の値を使用しようとしています$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 は、パラメーター配列から取得していないため、2 番目のサブルーチンには存在しません

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