Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: return file descriptor from function

by johngg (Abbot)
on Aug 10, 2013 at 19:07 UTC ( #1048930=note: print w/ replies, xml ) Need Help??


in reply to return file descriptor from function

Use a lexical filehandle and pass it back, it behaves just as a scalar.

$ cat > rubbish sdfhi rtrthr dgdf $ perl -Mstrict -Mwarnings -e ' > my $file = q{rubbish}; > my $fh = openFunc( $file ); > print while <$fh>; > > sub openFunc > { > my $fileToOpen = shift; > open my $fileHandle, q{<}, $fileToOpen > or die qq{open: $fileToOpen: $!\n}; > return $fileHandle; > }' sdfhi rtrthr dgdf $

I hope this was what you meant from your rather terse question and that I have answered your question.

Cheers,

JohnGG


Comment on Re: return file descriptor from function
Download Code
Re^2: return file descriptor from function
by Laurent_R (Prior) on Aug 10, 2013 at 22:48 UTC

    Although the question was terse, I think that is what the OP most probably meant. And yes, using a lexical filehandle enables you to use it almost as any scalar variable: to pass it to a function, to return it from a function, to take a reference to it, to store it in an array of filehandles or in a hash, to make it a local persistent object in a closure, etc., even if you don't know or don't want to know anything on typeglobs.

Re^2: return file descriptor from function
by solomon243 (Novice) on Aug 12, 2013 at 08:34 UTC
    Ok. This is what I need. Thanks for answers.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1048930]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (8)
As of 2015-07-04 10:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (59 votes), past polls