no warnings "all"; use strict; use Net::Dev::Tools::Syslog; my $syslog_file = "tail -n 0 -f /var/log/messages |"; # create syslog parsing object ( $syslog_obj, $error ) = Net::Dev::Tools::Syslog->parse( -report => 1, -parseTag => 1, #-dump => './dump2', -debug => 0, -moreTime => 1, -format => 'noHost', ); unless ($syslog_obj) { printf( "sylog object constructor failed: %s\n", $error ); exit(1); } print STDOUT "Reaches here: $syslog_file \n"; open(FH, "$syslog_file" ) || die "ERROR: open failed: $!\n"; print STDOUT "Doesn't reach here\n"; while () { #do whatever } close(FH); sleep 1; #### Runtime rt = Runtime.getRuntime(); Process proc = null; proc = rt.exec("perl myscript.pl");