my $foo = new Foo; $foo->add_item("Cheese"); $foo->add_item("Mice"); $foo->add_item("Rat", "Cat"); use Data::Dumper; print Data::Dumper->Dump([$foo], ['foo']); package Foo; sub new { bless { _orderid => '', _items => [] }, $_[0]; } sub add_item { push @{ $_[0]->{_items} }, @_[1 .. $#_]; } #### $foo = bless( { '_orderid' => '', '_items' => [ 'Cheese', 'Mice', 'Rat', 'Cat' ] }, 'Foo' );