Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
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?
[choroba]: When working at a bank, we had a colleague who entered mining early enough to have lots of bitcoins. He used to say "I go to work just because I'm too bored at home."
[Corion]: choroba: Aah, no, I do it because of the money :)
[choroba]: And when asked "How are you?" in the morning, his reply was usually "I don't know, haven't checked the bitcoin rates yet."
[Corion]: Heh - if I defined myself through the money I make, I would now only be 80% myself :-D
[choroba]: :-D

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2017-09-21 15:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (249 votes). Check out past polls.

    Notices?