sub decode { my ($record, $nt, $val_missing) = @_; my $template = ('A5' x $nt) . ('A2' x $nt); my @values = unpack($template, $record); my @fractions = @values[0 .. $nt-1]; my @exponents = @values[$nt .. $#values]; #### @values = (); for (my $i = 0; $i < @fractions; $i++) { if ( == 0 and $exponents[$i] == 99) { $values[$i] = $val_missing; } else { $fractions[$i] *= 10.**(-5); if (($exponents[$i] % 2) == 0) { $exponents[$i] = 10.**($exponents[$i]/2); } else { $exponents[$i] = 10.**(-($exponents[$i]+1)/2); } $values[$i] = $fractions[$i] * $exponents[$i]; } } return @values; }