my $template; my @fields; my @column_specs = lookup_specs($source); for my $column_spec ( @column_specs ) { my ($field, $offset, $width) = @$column_spec{qw(field offset width)}; $template .= "\@${offset}A$width"; push @fields, $field; } open my $reader, '<', $source;