in reply to Re: Merging two files by command line
in thread Merging two files by command line

Thanks JavaFan, I'm a Perl beginner so would it be much trouble if anyone took me through what that line means? Cheers guys, Victor
  • Comment on Re^2: Merging two files by command line

Replies are listed 'Best First'.
Re^3: Merging two files by command line
by markkawika (Monk) on Aug 20, 2009 at 18:39 UTC

    You did ask for a one-line script to solve it. That's what a one-line script looks like in Perl: obscure and hard to parse.

    You'd be much better off doing it with multiple lines:

    use strict; use warnings; my %stuff; while (my $line = <>) { chomp $line; my @word = split(q{ }, $line); push (@{$stuff{$word[0]}}, @word[1..$#word]); } for my $key (keys %stuff) { print "$key @{$stuff{$key}}\n"; }

    Example run:

    $ cat file1 Adam 1 2 3 Eve 4 5 6 $ cat file2 Adam 4 5 6 Eve 7 8 9 $ ./merge.pl file1 file2 Adam 1 2 3 4 5 6 Eve 4 5 6 7 8 9