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"