File handles are passed by referencing the corresponding typeglob.
#!/usr/bin/perl open( FH, ">test.file"); f1( \*FH); close( FH); sub f1 { my ($fh) = @_; print $fh "some-output\n"; }