--- /dev/null
+
+foreach my $cr ( rec_array 'CR' ) {
+ foreach my $au ( rec_array 'AU' ) {
+ row(
+ cited => $cr->{author},
+ by => $au,
+ );
+ }
+}
sub _get_rec { $rec };
+sub rec_array {
+ my $d = $rec->{ $_[0] };
+ return @$d if ref($d) eq 'ARRAY';
+ die "field $_[0] not array: ",dump( $d );
+}
+
=head2 _set_config
Set current config hash
sub sorted { to( 'sorted', @_ ) }
+=head2 row
+
+Insert new row of data into output module
+
+ row( column => 'foo', column2 => 'bar' );
+
+=cut
+
+use Data::Dump qw/dump/;
+
+sub row {
+ die "array doesn't have even number of elements but $#_: ",dump( @_ ) if $#_ % 2 != 1;
+
+ push @{ $out->{'_rows'} }, {@_};
+}
+
=head1 Functions to extract data from input