All pastes #11281 Raw Edit

Mine

public text v1 · immutable
#11281 ·published 2005-05-09 06:38 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;
                }
        }

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

print "Comments counted: $count\n";