2012-05-10 4 views
2

IO::Event을 사용하여 새 파일이 디렉터리에 추가 된시기를 감지하려고합니다. 나는 IO :: Event 라이브러리가 생소하고 쉽게 구현할 수 있는지 알고 싶다.IO :: Event를 사용하여 디렉터리의 새 파일 검색

행운을 빌어 뭔가를 할 수 있는지 알아 보려면 아래 코드를 시도해 보았습니다. open 대신 opendir을 사용하려고했을 때 충돌이 발생했습니다.

이 라이브러리가 내가 원하는 것을 제공 할 수 있는지보고 싶습니다. 필자가 직접 코딩 할 수있는 일반 Perl에서는 솔루션이 필요하지 않습니다. 내가 이것을보고있는 유일한 이유는 Proc::JobQueue::EventQueue을 사용하기 때문입니다. 나는 단지 Proc::JobQueue을 사용하여 솔루션을 코딩 할 수 있지만, 이것이 더 깨끗할 것이라고 생각했습니다.

답변

4

File::ChangeNotifyFile::ChangeNotify::Watcher을 사용하는 것이 좋습니다.

use File::ChangeNotify; 

my $watcher = 
    File::ChangeNotify->instantiate_watcher 
     (directories => [ '/my/path', '/my/other' ], 
      regex  => qr/\.(?:pm|conf|yml)$/, 
     ); 

if (my @events = $watcher->new_events()) { ... } 

$watcher->watch($handler); 
관련 문제