# fold the scalar and aref into an array my @table_gi_tr = listify $table{gi_tr} ; # create an array containing HTML::Element pointers to the or s my @iter_node = map { $table->{table_node}->look_down($ID, $_) } @table_gi_tr; # tie a scalar to the list of so that we can cycle thru 'em tie $table->{iter_node}, 'Tie::Cycle', \@iter_node; # iterate through the model data while (my $row = $table{tr_data}->($table, $table{table_data})) { # pick out a to display the row of model data with: my $I = $table->{iter_node}; # force the tied data to FETCH into $I my $new_iter_node = $I->clone; # clone the dummy for templating # wont work: my $new_iter_node = $table->{iter_node}->clone; ... }