in reply to exchange words in text

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

Cheers - L~R

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.