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

Reply via email to