{ my $logfile; my $loghandle; use Fcntl qw(:DEFAULT :flock); require POSIX; sub printLog { if (!$loghandle or $logfile ne $everythingLog) { $logfile=$everythingLog; open $loghandle,">>",$logfile or return; } my $time = POSIX::strftime( "%Y-%m-%d %H:%M:%S >", localtime() ); flock( $loghandle, LOCK_EX ) or return; seek( $loghandle, 0, 2 ) or return; # prefix the date and time on the log entry. print $loghandle map("$time: $_\n",@_) or return; flock( $loghandle, LOCK_UN ) or return; return 1; } }