our $log_fh; sub transform { my $data = shift; print $log_fh "Processing data $data.\n"; foo("bar"); } sub foo { my ($bar) = @_; print $log_fh "Processing $bar.\n"; } sub main { open ( local $log_fh, '>', 'test.txt' ) or die "Couldn't open log file\n"; transform( "data", $log_fh ); } main();