$ cat in.txt 1 22 3 -4 a b c d e f g h i j k l m n o $ perl -anle 'print "@F[map $#F-$_*2, 0..$#F/2]"' in.txt -4 22 a c f d j h o m k #### while (<>) { my @fields = split; for (my $i=$#fields; $i>=0; $i-=2) { print "$fields[$i] "; } print "\n"; }