2004,21,21,1,16.00
2004,21,21,1,16.25
2004,22,22,1,18.00
2004,22,22,1,18.25
2004,21,21,2,16.00
2004,21,21,2,16.25
2004,22,22,2,18.00
2004,22,22,2,18.25
####
2004,21,1,1,16.00,1600,18.62,20.28,16.86,3.225,1001,33.95,33.53,40.2,0,0,97.2,1.782,105.3,56.92,0,82.2
####
#!/usr/bin/perl
use strict;
use warnings;
my @data;
open(DAT, '<', 'testing.txt') or die $!;
while () {
chomp;
push @data, [split(/,/)];
#store in array of arrays
}
close (DAT);
my $count=0;
for my $row (0..$#data){
#iterate over each row by index
$count++;
#print "\nThe number of rows:";
#print "\n $count";
for my $column(0..$#{$data [$row]}){
#iterate over each column by index
#print "row $row, column $column:$data[$row][$column]\n";
#display using the notation from the arrow rule
#the data in the row 1, column 1
#print $data [1][1],"\n";
#print $data [1]->[1],"\n"; #Rule 2
#print $ {$data [1]}[1],"\n"; #Rule 1
}
}
#print "\nThe number of rows:";
#print "\n $count";
open OUT, '>dailyrecords.xml' or die $!;
print OUT "\n";
my @max_drybulb;
for (my $m=1;$m<=2;$m++){
for (my $d=21;$d<=22;$d++){
#print "\n$i";
#print"\n$n";
my @drybulb=map { $_->[11] } grep { (($_->[2] == $d) && ($_->[3] == $m)) } @data;
my @wetbulb=map { $_->[12] } grep { (($_->[2] == $d) && ($_->[3] == $m)) } @data;
my @rainfall=map { $_->[4] } grep { (($_->[2] == $d) && ($_->[3] == $m)) } @data;
my $hyphen="-";
my @dates = map { "$_->[2]$hyphen$_->[3]$hyphen$_->[0]" } grep { (($_->[2] == $d) && ($_->[3] == $m)) } @data;
my $date=&senddate(@dates);
#print "The date for each of the sets:";
#print"\n@dates\n";
#print"\nThis set of data:";
#print"\n@drybulb\n";
#print"\nThis set of data:";
#print"\n@wetbulb\n";
#print"\nThis set of data:";
#print"\n@rainfall\n";
my $max_drybulb=&maxtemp(@drybulb);
#print"\n$max_drybulb";
my $min_drybulb=&mintemp(@drybulb);
#print"\n$min_drybulb";
my $max_wetbulb=&maxtemp(@wetbulb);
#print"\n$max_wetbulb";
my $min_wetbulb=&mintemp(@wetbulb);
#print"\n$min_wetbulb";
my $prec=&totrain(@rainfall);
#print"\n$prec";
print OUT "\n";
print OUT"\n\t$date";
print OUT "\n\t";
print OUT "\n\t\t";
print OUT "\n\t\t";
print OUT "\n\t\t";
print OUT "\n\t\t";
print OUT "\n\t";
print OUT "\n\t";
print OUT "\n";
print OUT "\n\n\n\n";
}
}
print OUT "\n";
close (OUT);
sub maxtemp
{
my @max=@_;
foreach my $item(@max){
#print "\nThe item:";
#print"\n$item";
}
my $max=$_[0];
for (@max) { $max = $_ if $_ > $max }
return $max;
}
1;
sub mintemp
{
my @min=@_;
my $min=$_[0];
for (@min) { $min = $_ if $_ < $min }
return $min;
}
1;
sub totrain
{
my @prec=@_;
#print "\n@prec\n";
my $tot=0;
foreach my $ritem(@prec){
$tot=$tot + $ritem;
}
return $tot;
}
1;
sub senddate{
my @dat=@_;
foreach my $ditem(@dat){
return $ditem;
}
}
1;