package Foo;
sub new {
my $pkg = shift;
my %self = @_;
my $self = bless \%self, $pkg;
# do stuff to $self (now a __PACKAGE__)
return $self;
}
1;
####
use Data::Dumper ();
my $foo = Foo->new(a => 1, b => 2, c => [qw/apple banana grape/]);
print Data::Dumper::Dumper(\$foo)
##
##
$VAR1 = \bless( {
'b' => 2,
'c' => [
'apple',
'banana',
'grape'
],
'a' => 1
}, 'Foo' );
##
##
package Foo;
sub new {
my $pkg = shift;
my @self = @_;
my $self = bless \@self, $pkg;
# do stuff to $self (now a __PACKAGE__)
return $self;
}
1;
##
##
$VAR1 = \bless( [
'a',
1,
'b',
2,
'c',
[
'apple',
'banana',
'grape'
]
], 'Foo' );