in reply to Bizarre copy of HASH in leave
I can't see any attempts to copy an internal variable that isn't copyable[1]. Maybe some version info would help?package rincewind; sub new { bless {}, shift } sub jil { my ($self) = @_; my $outstr = $self->_jilout('insert_job') . $self->_jilout('job_type'); $outstr .= $_ foreach map $self->_jilout($_), @$self{ @{$self->{_fields_in_seq}} }; $outstr; } sub _jilout { my ($self,$attr) = @_; return '' if !exists $self->{$attr} or !defined $self->{$attr}; "$attr: ".$self->{$attr}."\n"; } package main; use strict; use warnings; use Data::Dumper; my $o = rincewind->new; @$o{qw/insert_job job_type/} = qw[ 50 daemon ]; my @flds = qw[ foo bar baz quux ]; @$o{ @flds } = reverse @flds; @{ $o->{_fields_in_seq} } = @flds; print $o->jil, $/; exit 0; __output__ insert_job: 50 job_type: daemon quux: foo baz: bar bar: baz foo: quux
_________
broquaint
[1] paraphrased from perldiag
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Bizarre copy of HASH in leave
by rinceWind (Monsignor) on Jul 09, 2002 at 11:55 UTC |