in reply to Clash between IO layers and "in memory" files?
What seems to work is to specify any layers in an extra binmode statement, i.e. while this doesn't work
use Fatal "open"; open my $fh, "<:raw", \"foo"; print <$fh>, "\n"; --> dies with: Can't open(GLOB(0x65ea40), <:raw, SCALAR(0x65eaa0)): No such file or d +irectory at (eval 1) line 3 main::__ANON__('GLOB(0x65ea40)', '<:raw', 'SCALAR(0x65eaa0)') +called at ./openstr.pl line 5
this does work
open my $fh, "<", \"foo"; binmode $fh, ":raw"; print <$fh>, "\n"; --> prints: foo
(Not sure if I'm telling you anything new -- just in case...)
Anyway, I agree that this is kinda weird.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Clash between IO layers and "in memory" files?
by blazar (Canon) on Mar 29, 2007 at 13:49 UTC |