Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Why isn't this simple method to join elements of 2 arrays not working

by davido (Cardinal)
on Sep 21, 2014 at 18:12 UTC ( [id://1101461]=note: print w/replies, xml ) Need Help??


in reply to Why isn't this simple method to join elements of 2 arrays not working

Just for fun...

use strict; use warnings; use autodie; use Getopt::Long; use File::Slurp qw( read_file write_file ); use List::MoreUtils 'pairwise'; use constant { EMPTY => q{}, FILE1 => 'e:/File1.txt', FILE2 => 'e:/File2.txt' }; my $LIVE = EMPTY; GetOptions('live' => \$LIVE); write_file $LIVE ? FILE2 : \*STDOUT, pairwise { join( ',', map{$_//EMPTY} $a,$b ) . "\n"; } @{slurp(FILE1)}, @{slurp(FILE2)}; sub slurp { read_file shift, array_ref=> 1, chomp => 1 }

By default this will dump its output to STDOUT. Once you're certain it will do what you want, run it with the --live flag, and it will overwrite FILE2, which seems to be what you want. I'd probably use copies of the original files until I'm certain.

Updated: Handle command-line option via Getopt::Long rather than @ARGV.


Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1101461]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-18 15:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found