package Foo; use strict; use warnings; use autodie; use lib qw( . ); use Foo qw( frobnicate ); open FH, '+<', 'data.txt'; while () { print "> $_"; } open my $new_fh, '>', 'more_data.txt'; Foo::frobnicate($new_fh); close $new_fh; open FH, '<', 'data.txt'; print "\n"; while () { print ">>> $_"; } close FH; #### package Foo; use strict; use warnings; our @EXPORT = qw( frobnicate ); warn "Foo.pm\n"; sub frobnicate { print FH "XYZ\n\n"; } 1;