in reply to Re: concatenation of lines from two different files
in thread concatenation of lines from two different files

Dear agianni,

Thanks a lot for your reply

Concerning your latest remark, in cases of several matches, I intend to write the other matches next to the first match, on the same line

  • Comment on Re^2: concatenation of lines from two different files

Replies are listed 'Best First'.
Re^3: concatenation of lines from two different files
by agianni (Hermit) on Aug 17, 2007 at 14:40 UTC

    If that's the case, you'll need to make the hash storing the contents of the first file a hash of arrays (or, rather, a hash of arrayrefs) rather than a simple hash, so you can store each line that matches the id:

    my %file1_row_for; while (my $input = <THAT_FILE>){ # only grab column 2 my ( undef, $id ) = split /;/, $input; # add this line to the array of data for this key push @{ $file1_row_for{$id} } = $input; }

    Then when you want to output it at the end of the line you can:

    print join ';', @{ $file_row_for{$id} } if scalar @{ $file_row_for{$id +} };

    Note that you'll just want to check for the length of the arrayref rather than definedness as in my original code.

    perl -e 'split//,q{john hurl, pest caretaker}and(map{print @_[$_]}(joi +n(q{},map{sprintf(qq{%010u},$_)}(2**2*307*4993,5*101*641*5261,7*59*79 +*36997,13*17*71*45131,3**2*67*89*167*181))=~/\d{2}/g));'