Murcia,
If the two lists are equal lengths and are already in order (item 1 from list1 corresponds to item 1 in list2), this is an easy problem.
#!/usr/bin/perl
use strict;
use warnings;
my @list;
my $index = 0;
while ( <DATA> ) {
chomp;
$index++ if /^\s*$/;
push @{ $list[ $index ] }, (split " ", $_, 2)[1];
}
my @new_list = map { $list[1][$_] . ' ' . $list[0][$_] } 0 .. $#{$list
+[0]};
__DATA__
Guido bla1 ...
Mike bla2 ...
Klaus bla3 ...
Guido Meyer
Mike Smith
Klaus Rothschild
Disclaimer: Murcia did not originally specify that the lists were of different lengths nor were any specifics given regarding ordering. While this approach is not valid given the new information - they were valid assumptions at the time it was written. A classic example of knowing what is the right information to include when asking a question.