Justin,
Thank you very much indeed for your suggestion. First I changed the file naming
as you pointed out (In for initial input).
The code works, except for one small snag, which is really due to me. The code
with your suggestion below.
The "print OUT '$rain[0], $rain[1]';", prints "$rain[0], $rain[1]'" as is.
Double quoting, no quotes all give error of uninitialised $rain[0]
Secondly there is a first '$rain[0], $rain[1]' without data
#!/usr/bin/perl -w
use strict;
use warnings;
#
my $debug = 0;
open(IN, "<'sample_r.txt") or die "open 'sample_r.txt' failed: $! ($^E)";
open(OUT, ">'sample_tr.txt") or die "open 'sample_tr.txt' failed: $! ($^E)";
for (my $ii=0; $ii < 6; ++$ii)
{
my $line= <IN>;
chomp $line;
print OUT "$line\n"; #*** Loop through headers and
print them
}
while (<IN>)
{
my @rain = split;
print OUT '$rain[0], $rain[1]';
printf OUT "%02.1f\t",$_ for @rain[2..$#rain];
print OUT qq(\n);
}
close IN;
close OUT;
__END__
The data
KIGALI AERO
Rainfall (mm)
LAT:01ø 58
LON:030ø 08
"Alt:1,490.0"
Date 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1971
01 11.8 0.4 0 0 0 0 0 0 0.1 0 2.9 0 9.4 0.3 0.2 0 0 0 0 1.7 0 0 0 0 0 0 0 0.5 0 0 8.1
1971
02 4.3 2.2 0.6 5.9 3 3.3 0 10.7 0 0 0 0 0 0 0 15.3 0 0 0 1.7 0 8.8 0 3.2 0 0 0 7.3
1971
03 0 0 0 0 0 0 0 0 0 1.1 0 0 3 0 2.9 0.5 5.7 0 6.6 0 0.1 0 0 0 0.9 10.5 2.4 25.1 11 13 2.1
1971
04 1.6 18.4 0 0.7 8.8 0.8 1.3 0 2.7 7 0.1 20 25.3 0.6 2.7 4 0 4.8 0.1 3.6 10.2 12.9 1.8 0 36.2 0.1 0 0.1 1.6 0
1971
05 0 10.9 2.1 0 2.3 8.1 0.3 4.4 1.4 0 0 4.3 0 21.9 5.6 0.9 4 0 17.4 0 29.3 11.3 0.6 0 0 0 0 0 0 0 4.2
1971 06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1971
07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 1 0.3 0.1 2.5 1 0.3 0 0 0 0 1.4 0.3 0 0 0 0
1971 08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.9 0 1 0 5.3 0 45.1 0 0 0 0 2.8
1971
09 0 0 0 17 0 3.5 1.9 0 0 0 0 31.6 1.9 0.9 0.1 2.3 0 0.5 0 0 0 0 0 0 0 4.8 13.7 0 0.7 0.5
1971
10 2.4 0.5 2.5 0 0 0.3 0 0 16.5 0 4.3 5.5 0 0 0 0 0 0.3 11 5.3 0 0 1.5 0 0 3.6 0.8 1.9 0.2 0 0
1971
11 1.3 13.2 0 0 0 0 0.3 0 4.6 0 0 0.9 11.5 5.4 0 25.5 0 29.7 0.5 0 1 1.8 0 3.6 2.2 0.6 14.6 8.6 0 0
1971
12 6.3 5.3 1 0 0 0 0 0 0 1.8 0 0 0 0 0 6.7 4.5 0 0 0 0 0 0 4.2 21.9 0 0 28.3 0 10.3 2.5
The output
KIGALI AERO
Rainfall (mm)
LAT:01ø 58
LON:030ø 08
"Alt:1,490.0"
Date 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
$rain[0], $rain[1]
$rain[0],
$rain[1]11.8 0.4 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 2.9 0.0 9.4 0.3 0.2 0.0 0.0 0.0 0.0 1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 8.1
$rain[0],
$rain[1]4.3 2.2 0.6 5.9 3.0 3.3 0.0 10.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 15.3 0.0 0.0 0.0 1.7 0.0 8.8 0.0 3.2 0.0 0.0 0.0 7.3
$rain[0],
$rain[1]0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.1 0.0 0.0 3.0 0.0 2.9 0.5 5.7 0.0 6.6 0.0 0.1 0.0 0.0 0.0 0.9 10.5 2.4 25.1 11.0 13.0 2.1
$rain[0],
$rain[1]1.6 18.4 0.0 0.7 8.8 0.8 1.3 0.0 2.7 7.0 0.1 20.0 25.3 0.6 2.7 4.0 0.0 4.8 0.1 3.6 10.2 12.9 1.8 0.0 36.2 0.1 0.0 0.1 1.6 0.0
$rain[0],
$rain[1]0.0 10.9 2.1 0.0 2.3 8.1 0.3 4.4 1.4 0.0 0.0 4.3 0.0 21.9 5.6 0.9 4.0 0.0 17.4 0.0 29.3 11.3 0.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.2
$rain[0],
$rain[1]0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
$rain[0],
$rain[1]0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 11.0 1.0 0.3 0.1 2.5 1.0 0.3 0.0 0.0 0.0 0.0 1.4 0.3 0.0 0.0 0.0 0.0
$rain[0],
$rain[1]0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.9 0.0 1.0 0.0 5.3 0.0 45.1 0.0 0.0 0.0 0.0 2.8
$rain[0],
$rain[1]0.0 0.0 0.0 17.0 0.0 3.5 1.9 0.0 0.0 0.0 0.0 31.6 1.9 0.9 0.1 2.3 0.0 0.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.8 13.7 0.0 0.7 0.5
$rain[0],
$rain[1]2.4 0.5 2.5 0.0 0.0 0.3 0.0 0.0 16.5 0.0 4.3 5.5 0.0 0.0 0.0 0.0 0.0 0.3 11.0 5.3 0.0 0.0 1.5 0.0 0.0 3.6 0.8 1.9 0.2 0.0 0.0
$rain[0],
$rain[1]1.3 13.2 0.0 0.0 0.0 0.0 0.3 0.0 4.6 0.0 0.0 0.9 11.5 5.4 0.0 25.5 0.0 29.7 0.5 0.0 1.0 1.8 0.0 3.6 2.2 0.6 14.6 8.6 0.0 0.0
________________________________
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs