http://www.perlmonks.org?node_id=989650


in reply to use Switch wierdness

Switch is a bug (this statement is an exaggeration, but see Categorized Damian Modules...maybe 'Switch is a bug waiting to happen'??). Don't use it in production. Even if it was (mistakenly) once a core library. (if you're not using it or considering using it for any serious purpose and just experimenting, please state that in your post...sorry and move along).

Replies are listed 'Best First'.
Re^2: use Switch wierdness
by tqisjim (Beadle) on Aug 25, 2012 at 01:35 UTC

    It's not just the Switch module that breaks this. Other modules seem to have the same effect. Can someone else run this code and confirm if they have the same problem?

    use DBD::mysql ; $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 ) ;