#!/usr/bin/perl # # Count the number of Debian consultants # # Written by: Behan Webster # $filename = 'consultant.data'; $comment = '^#\s*Consultant:\s*(.*)\s*$'; # Read in file open( FILE, "<$filename" ) || die "$filename: $!\n"; my $buffer = ""; my $outfile = "consultant.inc"; my $count = 0; my %country; my $list =''; # Count consultants/countries while ( ) { chomp; if( /$comment/ ) { $count++; $country{$1}++; } } @_ = keys %country; my $number = $#_ + 1; close( FILE ); # Print results foreach ( sort keys %country ) { printf "%-4d %s\n", $country{$_}, $_; $buffer .= sprintf ("%d\n", $_, $country{$_}); $list .= "$_-$country{$_} "; } # Report numbers and update file in buffer print "Number of consultants: $count\n"; print "Number of countries: $number\n"; $buffer .= sprintf ("%d\n", $count); $buffer .= sprintf ("%d\n", $number); $buffer .= sprintf ("%s\n", $list); open (FILE, ">$outfile") || die "$outfile: $!\n"; print FILE $buffer; close (FILE);