in reply to many files one log file

Ditch Thread::Semaphore and use a shared variable:

my $logSem : shared; ... { lock $logSem; print LOGFH ...; }

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.