in reply to duplicating STDERR to a logfile...

Another means would be to install a signal handler, this would receive Carp's cooked messages and you could tee from within. I wouldn't recommend opening the file within the handler though (memory allocaiton and (un)safe signal handling).

Alternatively you could just use Carp::longmess and Carp::shortmess yourself.

--
perl -pew "s/\b;([mnst])/'$1/g"