> -----Original Message-----
> From: Pete Emerson [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, January 23, 2002 2:13 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Help reqd. for collecting data
>
>
> Here's my stab at it:
>
> #!/usr/bin/perl -w
>
> use strict;
>
> my %info;
>
> open INFILE, "$ARGV[0]" or die "Can't open file: $!\n"; #
> Open file specified on command line
> while (<INFILE>) {
> chomp;
> my ($date, @data)=split; # Capture the date,
> then the rest
> $date=~s/_\d{4}$//; # Remove the timestamp,
> since we're summarizing the day
> for (my $i=0; $i<=$#data; $i++) { # Add data to the
> appropriate column
> $info{$date}[$i]+=$data[$i]; # per date!
> }
> }
> close INFILE;
>
> foreach my $date (sort keys %info) { # Print the
> results by sorted date
> print "$date";
> for (my $i=0; $i<$#{$info{$date}}; $i++) { # Column by column
> print " $info{$date}[$i]";
> }
This loop can really be shortened to:
print " $_" for @{$info{$date}};
or just:
print "@{$info{$date}}";
which takes advantage of the $" variable's default value of ' ',
which is inserted between list items when they are interpolated inside
double quotes.
> print "\n";
> }
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]