in reply to Have I found a bug in Perl?

First of all, for an interactive perl I prefer perl -wlne'eval;print$@if$@' to using the debugger.

I do see this behaviour under 5.6.2 but not 5.8.2.What version are you using?

Update: I see the v5.8.0 now, somehow I missed it before.

Update: this is fixed in 5.8.1, see bug #3284. Fixed by Dave Mitchell in patch #20168.

Replies are listed 'Best First'.
Re: Re: Have I found a bug in Perl?
by adamk (Chaplain) on Jan 11, 2004 at 07:25 UTC
    The behaviour is not interactive mode specific...

    #!/usr/bin/perl -w use strict; print "Setting \@Foo::ISA = ()\n"; @Foo::ISA = (); print "UNIVERSAL::isa( 'Foo', 'UNIVERSAL' ) == '" . UNIVERSAL::isa( 'F +oo', 'UNIVERSAL' ) . "'\n"; print "UNIVERSAL::isa( 'Foo', 'UNIVERSAL' ) == '" . UNIVERSAL::isa( 'F +oo', 'UNIVERSAL' ) . "'\n"; print "UNIVERSAL::isa( 'Foo', 'UNIVERSAL' ) == '" . UNIVERSAL::isa( 'F +oo', 'UNIVERSAL' ) . "'\n"; exit(); ... resulting in ... Setting @Foo::ISA = () UNIVERSAL::isa( 'Foo', 'UNIVERSAL' ) == '1' UNIVERSAL::isa( 'Foo', 'UNIVERSAL' ) == '' UNIVERSAL::isa( 'Foo', 'UNIVERSAL' ) == ''

    On the other matter, I'm aware things work slightly differently in the debugger, but I use it for things like the 'x' command and other stuff...