Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Why is a hash the default "object" in oo perl?

by tinita (Parson)
on Jul 18, 2004 at 01:51 UTC ( #375309=note: print w/replies, xml ) Need Help??

Help for this page

Select Code to Download


  1. or download this
    sub _attr {
      my $self = shift;
      my $name = shift;
    ...
      $self->{"_$name"} = shift;
    }
    sub name { shift->_attr(name => @_); }
    
  2. or download this
    package Parent;
    use attribute sub {
    ...
      # we have an ordinary hashref for the object
      return \$self->{"_$name"};
    }, [qw(city name)];
    
  3. or download this
    package Child;
    use base 'Parent';
    ...
      # object is arrayref, and the attributes are stored in element 0
      return \$self->[0]->{"_$name"};
    };
    
  4. or download this
    package attribute;
    use strict;
    use warnings;
    ...
      }
    }
    1;
    

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://375309]
help
Chatterbox?
[thepkd]: sorry. i mean $aohoaoh[0]
[GotToBTru]: $aohoaoh is an array reference tho
[thepkd]: some guy was suggesting $aohoaoh[0]->{'foo '}[0]->{}. This wouldnt work.
[GotToBTru]: you're mixing notation there I think
[GotToBTru]: $aohoaoh->[0] is a hash reference, so $aohoaoh->[0]->{ key1} would work
[1nickt]: If 1nickt is the some guy, that's not what he said.
[GotToBTru]: thepkd might not know about last hour of cb
[1nickt]: my $x = $aohoaoh->[0]->{' foo'}->[0]->{'bar' }; should work
[thepkd]: its not $aohoaoh->[0]. its $aohoaoh[0]->{'foo '}. Tried it. Its working. Thnaks

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (12)
As of 2016-12-06 13:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (105 votes). Check out past polls.