sample($t,0); sub sample { my $t = shift; my $index = shift; my ($p, @r, $v, $rt); $t->get_handles(params=>\$p, rtrs=>\@r, vars=>\$v, t=>\$rt); my @subs; if (defined $index) { my $rh = $r[$index]; } else { foreach my $rh (@r) { ... } } }