$file="Finger.java"; open(F,"$file") or die "Can't open $file: $!";; undef $/; my %hash = map { $. => $_ } grep { m{ ( /\* .*? \*/) | ( \/\/[^\n]*) | " (?: [^"\\]* | \\. )* " | ' (?: [^'\\]* | \\. )* ' | . [^/"']* }xgs } ; close(F); @keys=sort {$a<=>$b} (keys %hash); foreach $key (@keys) { $value=$hash{$key}; print "Line: $key\t$value\n"; }