On 11/11/01 08:44 -0500, Alan Jaffray wrote:
> dream% perl -0e 'print $/' | od -An -a
> nul
> dream% perl -0e 'use Inline Foo => " "; print $/' | od -An -a
> nl
>
> Why does my input record separator change after I import Inline?
>
> This behavior occurs with every Inline module I've tried, and doesn't
> occur when I import any of the modules that Inline depends upon, nor
> when I require Inline, so I'd conclude that it's somewhere in Inline's
> deep magic that I don't understand. :-)
Yeah, it's almost a year, but better late than never...
I've tracked this down to a bug in Perl:
(macingy) ingy /Users/ingy
> perl -066 -e 'print $/' | hexdump
0000000 3600
0000001
(macingy) ingy /Users/ingy
> perl -066 -e 'local $/ = "7"; print $/' | hexdump
0000000 3700
0000001
(macingy) ingy /Users/ingy
> perl -066 -e '{local $/ = "7"} print $/' | hexdump
0000000 3600
0000001
(macingy) ingy /Users/ingy
> perl -066 -e 'BEGIN {local $/ = "7"} print $/' | hexdump
0000000 0a00
0000001
(macingy) ingy /Users/ingy
> perl -066 -e 'CHECK {local $/ = "7"} print $/' | hexdump
0000000 3600
0000001
(macingy) ingy /Users/ingy
> perl -066 -e 'INIT {local $/ = "7"} print $/' | hexdump
0000000 3600
0000001
The BEGIN block is misbehaving.
Cheers, Brian