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 Chris Miller 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
Nov 17, 2000
5
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