мне нужно смотреть файлы, которые попадают в каталог. Я закодировал приведенный ниже скрипт на 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 продолжает печатать «доступные файлы». идет бесконечный цикл, он больше не ищет файлы. Даже если я выполняю операции с файлом, я не знаю, как заставить его снова искать файлы. 2. скрипт не работает в фоновом режиме.
Любая помощь высоко ценится . заранее спасибо.!
use strict
и отформатируйте свой код, и вы получите гораздо более точные ответы. - person Sobrique   schedule 19.01.2015