Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: select and IO::Handle

by runrig (Abbot)
on Aug 04, 2001 at 01:30 UTC ( [id://102172]=note: print w/replies, xml ) Need Help??


in reply to select and IO::Handle

IO::Scalar does not return an IO::Handle, it returns a blessed hash reference. The author said he tried to subclass IO::Handle, but ran into 'xxx on unopened filehandle' warnings. You have to use methods on an IO::Scalar object, unless you are using the tied interface, but then you would be using a tied filehandle/glob.

I'm actually working on a patch for IO::Scalar so that it will return a blessed glob reference with a tied glob so that it will behave more like a real filehandle, and things that return IO::Scalar objects can be passed to things which expect filehandles. If there's a better fix, I'd be glad to hear of it :-)

Update: IO::Scalar now returns a blessed glob reference and so the returned object behaves more like a real filehandle. However, modern perls let you open a filehandle directly to a scalar, which makes these sorts of modules obsolete.

Replies are listed 'Best First'.
Re: Re: select and IO::Handle
by John M. Dlugosz (Monsignor) on Aug 04, 2001 at 02:17 UTC
    I was just talking to the author, too.

    A better fix: Only implement actual methods for the TIE. Also have a function to create one and return an IO::Handle to it as one call.

    While you're at it, note that WRITE method is missing.

    —John

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2024-03-28 23:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found