Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Swapping names of list while keeping the contents as it is.

by johngg (Abbot)
on Aug 30, 2012 at 22:13 UTC ( #990862=note: print w/replies, xml ) Need Help??


in reply to Swapping names of list while keeping the contents as it is.

Another method that reads the data in paragraph mode, splits into first element and remaining elements within lines in one map then swaps the first elements of the two lines and rejoins things up in a second, finally joining the pairs of lines into paragraphs again.

$ perl -Mstrict -Mwarnings -E ' > open my $fh, q{<}, \ <<EOF or die $!; > jay 21 34 56 > bob 12 39 > > jay 11 10 > bob 14 > > jay 190 > bob 13 > EOF > > say join qq{\n\n}, do { > local $/ = q{}; > map { > ( $_->[ 0 ]->[ 0 ], $_->[ 1 ]->[ 0 ] ) > = > ( $_->[ 1 ]->[ 0 ], $_->[ 0 ]->[ 0 ] ); > join qq{\n}, map { join q{ }, @$_ } @$_; > } > map { > chomp; > [ map { [ split m{\s}, $_, 2 ] } split m{\n} ]; > } > <$fh>; > };' bob 21 34 56 jay 12 39 bob 11 10 jay 14 bob 190 jay 13 $

I hope this is of interest.

Cheers,

JohnGG

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://990862]
help
Chatterbox?
NodeReaper gets another author to use Module::Build

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2017-11-24 03:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (343 votes). Check out past polls.

    Notices?