#!/usr/bin/perl $inFile = $ARGV[0]; $charNum = $ARGV[1]; $left = $right = 0; $line = 1; open(IN_FILE, $inFile) || die "Can't open $inFile.\n"; while () { chomp; # Dump the newline -- JavaCUP's count ignores them. $right = $left + length($_); last if (($left <= $charNum) && ($charNum <= $right)); $left = $right + 1; $line++; } $prefix = "line $line: "; print $prefix, $_, "\n"; print " " x ($charNum - $left + length($prefix)), "^\n";