use strict; my @outputs; while () { my @fields = split; push @fields, '' if ( @fields == 3 ); for my $i ( 0..$#fields ) { $outputs[$i] .= $fields[$i] . '|'; } } chop @outputs; # remove final '|'; print "$_\n" for ( @outputs ); __DATA__ ID1 > 66 ID2 between 6 10 ID3 < 7