-1

あるフォルダーから別のフォルダーにファイルをコピーおよび移動するコードをいくつか書きました。このコードは単独では問題なく動作しますが、while ループをコードに追加しようとするとエラーが発生し続けます。while ループは、テストすると、それ自体でも正常に動作しています。コードの何が問題なのかわかりません。私は Perl を使用するのが初めてで、どこが間違っているのか誰かが指摘できるかどうか疑問に思っていました。どんな助けでも素晴らしいでしょう。ありがとう。: )

    use File::Copy;
    use File::Find;
    my @source = qw (source);
    my $target  = q{target};


    while 
    {sleep (5);
    find(
      sub {
        if (-f) {
          print "$File::Find::name -> $target";
          copy($File::Find::name, $target)
            or die(q{copy failed:} . $!);

        }
      },
      @source
     ); 
    }

編集:申し訳ありませんが、私は明確ではなかったと思います。このコードを X 秒ごとにループさせたいと思っています。テストするために5秒に設定していました。

4

1 に答える 1

8

ループをいつ終了するかを示す式がありません。

while (EXPR) { ... }
      ^^^^^^

無限ループが必要な場合は、使用できます

while (1) { ... }
for (;;) { ... }
loop { ...}           # use syntax qw( loop );
于 2013-01-07T19:06:42.593 に答える