open LESS, '|less -cSRM' or die $!; my @results = split(/dbDelimeter/,`SQL_Query`); while(@results) { (var1,var2,var3,etc) = splice(@results, 0, 28); $var1 =~ s/\n//g; $var2 =~ s/oldDateFormat/newDateFormat/; $var3 =~ s/moreReplacements/DoneHere/; print LESS sprintf (%-10s %-10s %10s,$var1,$var2,$var3); } close LESS; #### open my $query_fh, '-|', 'SQL_Query' or die $!; open my $less_fh, '|-', 'less -cSRM' or die $!; while (<$query_fh>) { ... print $less_fh sprintf (%-10s %-10s %10s,$var1,$var2,$var3); } close $less_fh;