use FileHandle; to_logfile($message) or to_backup_logfile($message, $logfilename); sub to_backup_logfile { my ($message, $logfilename) = @_; my $bulog = new FileHandle "$logfilename.bak" or to_backup_logfile("Couldn't write $message to $logfilename!", "$logfilename.bak"); print $bulog $message; }