Peter Prymmer wrote:

>I had hoped to be able to pinpoint the perl version
>where the flushed output error occurs by building several older kits off
>of CPAN.

Thanks. I get the same behavior in 5.5.3, though you have to give the 
filehandle variable a value first before the open.  So the bug has 
been with us for a while but just never noticed.  I think a debug 
build is in order here.  I've done a little poking around in C RTL 
docs but haven't come up with a theory about why a write after a 
flush gives an EOF error.

$ type autoflush_problem.pl
use IO::Handle;
my $fh = '';
open($fh, ">fil.dat") or die $!;
$fh->autoflush(1);
print $fh 'hello' or die $!;
close($fh);
$ perl autoflush_problem.pl
end of file detected at autoflush_problem.pl line 5.
%RMS-E-EOF, end of file detected
$ perl -v

This is perl, version 5.005_03 built for VMS_AXP
[snip]

I was wrong in my earlier statement about my_flush() in vms.c not 
getting used; through the usual convoluted series of defines it looks 
like it does become PerlIO_flush() via Fflush().  I assume this is 
where the autoflush actually occurs.  Hope to have a chance to take a 
look later today.
-- 
____________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

Reply via email to