my @fieldnames = qw /S_10 S_11 S_12 S_13 S_14 S_15 T_10 T_11 T_12 T_13 T_14 T_15/;
# Note you could also make it dynamic and generate it from the input
my %params;
while (<$Param>) {
my ($index, @values) = split /,/, $_;
$params{$index} = { map {$fieldnames[$_], $values{$_}} 0..15;}
}
####
use strict;
use warnings;
my (undef, @fieldnames) = split /,/, ;
chomp @fieldnames;
my %params;
while () {
chomp;
my ($index, @values) = split /,/, $_;
$params{$index} = {map {$fieldnames[$_], $values[$_]} 0..$#fieldnames};
}
my $stat =
"1,10
2,11
3,12
4,13
5,14";
open my $STAT, "<", \$stat or die "cannot open $stat $!";
while (<$STAT>) {
chomp;
next if /sta/i;
my ($stat, $code) = split /,/;
print "Station $stat : Salinity: ", $params{$stat}{"S_$code"}, "; Temperature: ", $params{$stat}{"T_$code"}, "\n";
}
__DATA__
Station,S_10,S_11,S_12,S_13,S_14,S_15,T_10,T_11,T_12,T_13,T_14,T_15
1,31,29,29,31,29,29,15,14,23,15,14,23
2,33,28,23,33,28,23,17,15,23,17,15,23
3,23,27,33,23,27,33,18,16,23,18,16,23
4,25,26,28,25,26,28,23,14,15,23,14,15
5,26,26,27,26,26,27,23,18,17,23,18,17
6,27,33,31,27,33,31,14,17,18,14,17,18
7,33,29,29,33,29,29,12,18,23,12,18,23
####
Station 1 : Salinity: 31; Temperature: 15
Station 2 : Salinity: 28; Temperature: 15
Station 3 : Salinity: 33; Temperature: 23
Station 4 : Salinity: 25; Temperature: 23
Station 5 : Salinity: 26; Temperature: 18