Yes it is !

C:\>perldoc -q "How do I pass filehandles between subroutines"
Found in C:\Perl\lib\pod\perlfaq5.pod
  How can I make a filehandle local to a subroutine?  How do I pass
filehandles between subroutines?  How do I make
 an array of filehandles?
    As of perl5.6, open() autovivifies file and directory handles as
    references if you pass it an uninitialized scalar variable. You can
then
    pass these references just like any other scalar, and use them in
the
    place of named handles.

            open my    $fh, $file_name;

            open local $fh, $file_name;

            print $fh "Hello World!\n";

            process_file( $fh );

    Before perl5.6, you had to deal with various typeglob idioms which
you
    may see in older code.

            open FILE, "> $filename";
            process_typeglob(   *FILE );
            process_reference( \*FILE );

            sub process_typeglob  { local *FH = shift; print FH
"Typeglob!" }
            sub process_reference { local $fh = shift; print $fh
"Reference!" }

    If you want to create many anonymous handles, you should check out
the
    Symbol or IO::Handle modules.


C:\>

-----Original Message-----
From: Gabor Urban [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 13, 2004 3:46 PM
To: [EMAIL PROTECTED]
Subject: Question about subroutines....


Hi,

Is it possible to write a subroutine in Perl which accepts an open file
handle as parameter? At the moment it seems hopeless, but is it?

Regards

Gabaux
Linux is like a wigwam: no gates, no windows, and an apache inside!

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




**** DISCLAIMER ****

"This e-mail and any attachment thereto may contain information which is confidential 
and/or protected by intellectual property rights and are intended for the sole use of 
the recipient(s) named above. 
Any use of the information contained herein (including, but not limited to, total or 
partial reproduction, communication or distribution in any form) by other persons than 
the designated recipient(s) is prohibited. 
If you have received this e-mail in error, please notify the sender either by 
telephone or by e-mail and delete the material from any computer".

Thank you for your cooperation.

For further information about Proximus mobile phone services please see our website at 
http://www.proximus.be or refer to any Proximus agent.


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to