Thanks
This time the code worked. Please explain it to me. 



________________________________
From: Dr.Ruud <rvtol+use...@isolution.nl>
To: beginners@perl.org
Sent: Sun, November 15, 2009 9:43:09 PM
Subject: Re: join lines

Jackie Jackie wrote:

> Desired output:
> name1&firstname1&adresse1
> name2&firstname2&adresse2 name3&firstname3&adresse3
> 
> name4&firstname4&adresse4
> name5&firstname5&adresse5
> 
> etc.

#!/usr/bin/perl -w
use strict;

local $/ = "\n\n";
my @data = map [ map [ split /\n/ ],  split /\n&\n/ ], <DATA>;

for my $d ( @data ) {
    for my $i ( 0 .. $#{ $d->[0] } ) {
        print join( "&", map $_->[$i], @$d ), "\n";
    }
    print "\n";
}

__DATA__
[your data]


which prints:

name1&firstname1&adresse1
name2&firstname2&adresse2
name3&firstname3&adresse3

name4&firstname4&adresse4
name5&firstname5&adresse5

name6&firstname6&adresse6
name7&firstname7&adresse7



Variant:

#!/usr/bin/perl -wl
use strict;

local $/ = "\n\n";
print "$_\n" for map {
    my $d = $_; join "\n", map {
        my $i = $_; join "&", map $_->[$i], @$d
    } 0 .. $#{$d->[0]}
} map [ map [ split /\n/ ], split /\n&\n/ ], <DATA>;


-- Ruud

-- To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


      __________________________________________________________________
Looking for the perfect gift? Give the gift of Flickr! 

http://www.flickr.com/gift/

Reply via email to