Wenn ich Dich richtig verstehe, könnte diese Variante, die aber das originale Array verändert (leert), passend sein:
1
2
3
4
5
6
7
8
9
10
11
12
13
my @array = qw( liste mit 1000 elementen );
my @new;
while ( @array ) {
push @new, join( " " , splice( @array, 0, 2 ) );
}
for ( @new ) {
print "$_", $/;
}
edit: ein wenig überarbeitet und abgewandelt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;
use Data::Dumper;
my @list = qw( Liste mit 1000 Elementen und eins mehr);
my $separator = '';
my @new;
while ( my @join_these = splice( @list, 0, 2 ) ) {
no warnings 'uninitialized';
push @new, join( $separator, @join_these );
}
print Dumper \@new;
__END__
Last edited: 2012-01-13 13:43:47 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!