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/