Here's what happens when I run the script:use Switch ; $perldata = bless { hello => 'world' }, 'superman' ; # $perldata = { hello => 'world' } ; sub test { my $o = shift ; warn $o ; my $m = bless { perldata => $o }, 'TQIS::test' ; return $m ; } sub TQIS::test::DESTROY { my $self = shift ; warn $self->{perldata} ; } $a = test( $perldata ) ; $b = test( $perldata ) ; $c = test( $perldata ) ;
If I comment out the 'use Switch' statement, the superman reference prints out correctly 3 times on line 15. Incidentally, I also get the correct result of the variable perldata is not blessed. I'm guessing this is a bug. Does anybody else experience the same thing? -Jim$ perl /tmp/err.pl superman=HASH(0x9b0d18c) at /tmp/err.pl line 8. superman=HASH(0x9b0d18c) at /tmp/err.pl line 8. superman=HASH(0x9b0d18c) at /tmp/err.pl line 8. superman=HASH(0x9b0d18c) at /tmp/err.pl line 15 during global destruct +ion. superman=HASH(0x9b0d18c) at /tmp/err.pl line 15 during global destruct +ion. Warning: something's wrong at /tmp/err.pl line 15 during global destru +ction. $
In reply to use Switch wierdness by tqisjim
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |