in reply to Overloading Weirdness
Hello pudge,
I tried separating your str package into its own module/file, and then useing it in the main script:
use strict; use warnings; use 5.010; use Data::Dumper; $Data::Dumper::Sortkeys = 1; use lib qw(.); use str; ...
The output may be closer to what you were wanting (if I’ve understood correctly):
$VAR1 = { 'BAD' => [ bless( [ bless( [ 'a ', bless( do{\(my $o = 'foo')}, 's +tr' ) ], 'str' ), ' a' ], 'str' ), bless( [ bless( [ $VAR1->{'BAD'}[0][0][1], ' ' ], 'str' ), bless( do{\(my $o = 'bar')}, 'str' ) ], 'str' ), bless( [ bless( [ bless( [ bless( [ 'a ', $VAR1->{'BAD' +}[0][0][1] ], 'str' ), ' a ' ], 'str' ), $VAR1->{'BAD'}[1][1] ], 'str' ), ' a' ], 'str' ) ], 'GOOD' => [ bless( [ bless( [ $VAR1->{'BAD'}[0][0][1], ' ' ], 'str' ), $VAR1->{'BAD'}[1][1] ], 'str' ), $VAR1->{'GOOD'}[0], bless( [ $VAR1->{'BAD'}[0][0][1], ' a' ], 'str' ) ] }; $VAR1 = { 'BAD_GOOD' => [ bless( [ '', bless( [ bless( [ 'a ', bless( do{\(my $o + = 'foo')}, 'str' ) ], 'str' ), ' a' ], 'str' ) ], 'str' ), bless( [ '', bless( [ bless( [ $VAR1->{'BAD_GOOD +'}[0][1][0][1], ' ' ], 'str' ), bless( do{\(my $o = 'bar') +}, 'str' ) ], 'str' ) ], 'str' ), bless( [ '', bless( [ bless( [ bless( [ bless( [ + 'a ', + $VAR1->{'BAD_GOOD'}[0][1][0][1] ] +, 'str' ), ' a ' ], 'str' ) +, $VAR1->{'BAD_GOOD +'}[1][1][1] ], 'str' ), ' a' ], 'str' ) ], 'str' ) ] }; 17:03 >
I don’t pretend to know exactly what’s going on (I have the ’flu, my head is more than usually woolly), but perhaps this will help you towards a solution.
Cheers,
Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In Section
Seekers of Perl Wisdom