All pastes #11280 Raw Edit

Count Comments

public text v1 · immutable
#11280 ·published 2005-05-09 06:32 UTC
rendered paste body
#!/usr/bin/perl

$file = shift or die "Usage: $0 <source-filename>\n";

if (! -r $file) {
        die "Cannot find file $file\n";
}

open FILE, "<$file";

while ($line = <FILE>) {
        if ($continue) {
                $end = index($line, "*/");
                if ($end != -1) {
                        $continue = 0;
                        $count++;
                        $line = substr($line, $end + 2);
                } else {
                        next;
                }
        }

        if ($line =~ m#(/[/\*])#) {
                if ($1 eq '//') {
                        $count++;
                } else {
                        $pos = index($line, "/*");
                        $end = index($line, "*/", $pos);
                        if ($end == -1) {
                                # Continue on into following lines
                                $continue = 1;
                        }
                }
        }
}
close FILE;

print "Comments counted: $count\n";