Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Rhinorhino on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

passing file handles

Status
Not open for further replies.

Hikeeba

Programmer
Joined
Nov 17, 2000
Messages
5
Location
US
How oh how does one pass a file handle to a sub? The reason I want to do this is because I have a sub to print out data to a file, and I want it to print out to where the handle is currently at. So I don't want to pass the filename...I want to pass the handle....how does one do it???

-John
 
I assume you have something like this to open the output

open(OUTF,">$output_File") or die "$!";

What I would do is store OUTF in a variable

$outf_handle = "OUTF";

and then when you call the sub place it in there like a C function call

Foo($outf_handle) ;

and then in the subroutine do this first:
sub Foo {
my($outf_name) = @_;

This will keep the variable private and inside the subroutine's scope depth. As long as you keep C function call ideas this will do

Foo($VAR1, $VAR2 ....);

sub Foo {
my($var1, $var2 ....) = @_;

There is a slick way of doing it so you can do it in any order but I can't remember it.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top