use Thread::Semaphore; my $writelog = Thread::Semaphore->new(); #sequential log writing use diagConfig; #$sourcepath, %files, and helper functions open my $LOGFH ,">", $files{log}{file}; #disable write buffer my $stdout = select($LOGFH); $| = 1; select($stdout); use License (\$LOGFH, \$writelog);