Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^3: Redirecting/Restoring of Memory Files

by Anonymous Monk
on Jun 26, 2015 at 08:30 UTC ( #1132092=note: print w/replies, xml ) Need Help??


in reply to Re^2: Redirecting/Restoring of Memory Files
in thread Redirecting/Restoring of Memory Files

Your success with append mode might be Perl version/system dependent. On my macbook, I still get the black hole when I reopen in append mode.
I mean
open($fh1, '>', \ substr($s1, length($s1)) ) or die "Can't restore fh1";
replace '>' with '>>' and \ substr($s1, length($s1)) with \$s1 and you'll get
open($fh1, '>>', \$s1) or die "Can't restore fh1";
I'm also not comfortable with the idea that "one shouldn't expect" a file handle to work with dup. As far as I know, Perl doesn't give me a way to tell if a file handle was created on a string.There is no way to gracefully degrade or warn the user if they hand my subroutine a file handle and it just happens to be backed with a string.
Well I'm not saying that open is being reasonable here. IMO, yes, it should work, or at least warn if it doesn't. That being said, there is a way to tell the difference
Returns the file descriptor for a filehandle, or undefined if the filehandle is not open. If there is no real file descriptor at the OS level, as can happen with filehandles connected to memory objects via "open" with a reference for the third argument, -1 is returned. - fileno

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2020-07-04 22:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?