in reply to Replicate open() and close()

Why not write a subroutine?

sub write_file { my $filename = shift; local *FH; open( FH, "> $filename" ) or die "Cannot open '$filename': $!\n"; log( "Opened '$filename' ); print FH @_; close FH; log( "Closed '$filename' ); }