On Thu, Apr 24, 2008 at 9:35 AM, icarus <[EMAIL PROTECTED]> wrote:
> I have two files: log_ca.txt and log_aa.txt
>  contents of log_ca.txt:
>
>  333333333->ca_filename3
>  444444444->ca_filename4
>  111111111->ca_filename1
>  222222222->ca_filename2
>
>  contents of log_aa.txt:
>
>  111111111->aa_filename1
>  333333333->aa_filename3
>  222222222->aa_filename2
>  444444444->aa_filename4
>
>  The program extracts the values after the -> delimiter of both files
>  Makes an association between the values on both of the files.
>
>  Meaning, this is desired output:
>
>  CA FILENAME => AA_FILENAME
>  ---------------------------
>  ca_filename1 => aa_filename1
>  ca_filename2 => aa_filename2
>  ca_filename3 => aa_filename3
>  ca_filename4 => aa_filename4
>


It's may easy or not, based on the special cases you have.
I could show one of the ways:

use strict;
use warnings;

my (%hash, %hash2);

open my $hd, 'log_aa.txt' or die $!;
while(<$hd>) {
    next if /^$/;
    chomp;
    my ($id) = /(\d+)$/;
    my $f_name = (split/->/,$_)[-1];
    $hash{$id} = $f_name;
}
close $hd;

open $hd, 'log_ca.txt' or die $!;
while(<$hd>) {
    next if /^$/;
    chomp;
    my ($id) = /(\d+)$/;
    my $f_name = (split/->/,$_)[-1];
    $hash2{$id} = $f_name;
}
close $hd;

for (sort keys %hash) {
    print $hash{$_}, "=>", $hash2{$_}, "\n";
}

__END__

Hope this helps.

-- 
J. Peng - QQMail Operation Team
eMail: [EMAIL PROTECTED] AIM: JeffHua

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


Reply via email to