我需要查看目录下的文件。我在 perl 中编写了以下脚本。但它没有做我想要的。
- 每当一个或多个文件到达时,它就必须做一个动作。
- 然后它必须再次继续观看文件。
该脚本应该在后台运行。
#!/usr/bin/perl use warnings; use File::Copy qw(move); $src_dir = '/root/prasanna/dir'; $tgt_dir = '/root/prasanna/dir/dir1'; while (true) { opendir( DIR, "/root/prasanna/dir" ) or die "Cannot open /root/prasanna/dir: $!\n"; my @Dircontent = readdir DIR; close DIR; my $items = @Dircontent; if ( $items > 2 ) { print "files available"; while ($items) { print $items; move $src_dir. '/' . $items, $tgt_dir . '/' . $items; unlink $items; } } else { sleep 50; } }
上述代码的问题是 1. if 语句继续打印 'files available' 。继续无限循环,它不再监视文件。即使我对文件进行操作,我也不知道如何让它再次查找文件。2.脚本不在后台运行。
非常感谢任何帮助。提前谢谢。!