use sharedFunctions; #$files{log}{file} => logfile.log my $writelog = Thread::Semaphore->new(); #sequential log writing open my $LOGFH ,">", $files{log}{file}; #disable write buffer my $stdout = select($LOGFH); $| = 1; select($stdout); require PKG; PKG->import(\$LOGFH, \$writelog); my $pk = PKG->new();