rendered paste body#!/usr/bin/perl
# A program to count LOC, ESLOC, Comment Lines, and Blank lines
use strict;
my @data = <STDIN>;
my $blank = 0;
my $comments = 0;
my $block = 0;
print "LOC: " . @data . "\n";
foreach $_ ( @data )
{
chomp;
if( length == 0 )
{
$blank++;
}
elsif( /\/\// && $_ !~ /"/ )
{
$comments++;
}
elsif( /\/\*/ && &_ !~ /"/ )
{
$block = 1;
}
elsif( /\*\// && $_ !~ /"/ )
{
$comments++;
$block = 0;
}
if( $block == 1 )
{
$comments++;
}
}
print "ESLOC: " . ( @data - $blank - $comments ) . "\n";
print "Lines of comments: $comments \n";
print "Blank lines: $blank\n";
exit;