package A; use strict; … my @array1 = qw(name display file recur msglist); my $rec = new WDDX; … my $listrec = C::build(\@array1, $rec); --- package B; use strict; … my @array2 = qw(name display file recur msglist); my $rec = new WDDX; … my $listrec = C::build(\@array2, $rec); … package C; sub build(\@$); sub build(\@$) { my $data = $_[0]; my $rec = $_[1]; … }