Open frioux opened 10 years ago
The issue here is that the < overload will close an open file, then re-open it to print to it. Since temp files don't actually have filenames, this doesn't work. The problematic code is IO::All line 358:
$_[1]->close if $_[1]->is_file and $_[1]->is_open;
It might be better to replace this with a seek and truncate.
dist: IO-All-0.31 perl: v5.8.3 built for i386-linux-thread-multi o/s : mikey.emperorlinux.com 2.4.24-emp_2424sw #1 Fri Feb 20 17:56:50 EST 2004 i686 i686 i386 GNU/Linux
I did try the Perlmonks first: http://perlmonks.org/?node=402395
I can't get what I'd consider proper behavior when creating temporary files with IO::All.
!/usr/bin/perl -w
use strict; use IO::All; my $temp_file = io('?'); "foo" > $temp_file;
During execution I get the following fatal error...
Can't call method "print" on an undefined value at /usr/lib/perl5/site +_perl/5.8.3/IO/All.pm line 618.
I believe I'm following the documentation correctly, so I would expect the file to be writable. However, I don't even think a temporary file is being created.
(imported from https://rt.cpan.org/Ticket/Display.html?id=8168)