#!/usr/bin/perl # lineio.pl - Don Yang (uguu.org) # Benchmark test for lineio.c # # Doesn't handle binary files properly. # Correctness test should be done against chario.c # # 03/10/04 use strict; my ($line, $line0, $LineCount, $MaxLineSize); local (*INFILE); local (*OUTFILE); $LineCount = $MaxLineSize = 0; if( $#ARGV >= 0 ) { open INFILE, "< $ARGV[0]" or die "Can not open $ARGV[0]\n"; } else { open INFILE, "<&STDIN" or die "Can not dup STDIN\n"; } if( $#ARGV > 0 ) { open OUTFILE, "> $ARGV[1]" or die "Can not create $ARGV[1]\n"; } else { open OUTFILE, ">&STDOUT" or die "Can not dup STDOUT\n"; } while( $line = ) { $line0 = $line; chomp $line0; ($MaxLineSize < length $line0) && ($MaxLineSize = length $line0); $LineCount++; print OUTFILE $line; } print STDERR "$LineCount lines, longest line = $MaxLineSize characters\n"; close INFILE; close OUTFILE;