sub paste { my @fh = @_; return sub { chomp( my @line = map { scalar(<$_>) } @fh ); return join ' ', @line; } } #### open my $keys, "keys.txt" or die "couldn't open keys.txt"; open my $vals, "vals.txt" or die "couldn't open vals.txt"; my $combined = paste($keys,$vals); print $combined->(), "\n" for 0..4; #### Joe 5 Bob 3 Sally 7 Bob 1 Fred 1 #### sub NEXTLINE { $_[0]->() } print NEXTLINE($combined), "\n" for 0..4;