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/


Reply via email to