package MyDEBUGLOG; use Tie::Handle; @ISA = qw/Tie::Handle/; sub TIEHANDLE { my $class = shift; bless {}, $class; } { my $line = 0; sub PRINT { my $self = shift; ++$line; print DEBUGLOG map "$line: $_", @_; } } package main; tie *DEBUGLOG, 'MyDEBUGLOG'; print DEBUGLOG "Foo";