Johnson, Reginald (GTI) wrote:
I have two input files and I put each into a hash. If the key of one
hash matches the other then I output some values from both. I have
accomplished the output that I want but I want to know if it can be done
in a more efficient manner.

Yes.

#!/usr/bin/perl
use strict;
use warnings;

my $servername = 'BCCMD1';


open my $ACTLOG, '<', '/home/johnsre/SCRIPTS/BKUPINFO/actlog1269822'
    or die "actlog file cannot open $!\n";

my %actHash;
while ( <$ACTLOG> ) {
    my ( $actsess, $actmess ) = ( split /,/ )[ 3, 4 ];
    $actHash{ $actsess } = $actmess;
    }

close $ACTLOG;


open my $SUMMARY, '<', '/home/johnsre/SCRIPTS/BKUPINFO/summary_1269822'
    or die "summary file cannot open $!\n";

while ( <$SUMMARY> ) {
    next if /$servername/;
    chomp;
my ( $sumstart, $sumend, $sessnumber, $sessnode, $sumbytes ) = ( split /,/ )[ 1, 2, 4, 5, 12 ];
    if ( exists $actHash{ $sessnumber } ) {
print "output=>$sessnode,$sumstart,$sumend,$sumbytes,$sessnumber,$actHash{$sessnumber}";
        }
    }

close $SUMMARY;

__END__



John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order.                            -- Larry Wall

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to