#!/usr/bin/perl use strict; use warnings; package MyPrint; sub new { my $class=shift; my $file=shift; open(my $FH,'>',$file); return bless(\*$FH,ref($class)?ref($class):$class); } sub print { my $fh=shift; print @_; print $fh "LOG:",@_; } package main; my $p=MyPrint->new('/dev/null'); print $p "TEST";