All pastes #729689 Raw Edit

Programming Challenge 4

public text v1 · immutable
·published 2007-10-08 06:46 UTC
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;