in reply to Lists of objects and passing objects

Yes, you can. Most of the time, class is just a blessed hash or array. One thing worth to mention is that, when you pass a list of object, always pass the reference, as most of the time, they are reference already, just don't de-ref them. Otherwise, Perl will concat them into one big list. The following is a simple demon of this:
aclass.pm: package aclass; use strict; sub new { my $self = {}; $self->{"first"} = shift; $self->{"second"} = shift; bless $self; return $self; } 1; a.pl: use aclass; use strict; sub display { my $a = shift; my $b = shift; print "a = $a, b = $b\n"; } $a = new aclass(1, 2); $b = new aclass(3, 4); display($a, $b); display(%{$a}, %{$b});

the first display does what you want, the second does not. This is a caution not just for object, but any time you pass list of aggregations.