#!/usr/bin/perl # The program calculates the total zeros and positive intergers from the data using regex use strict; use warnings; my ( $ctrP, $ctrN, $ctrZ ) = ( 0, 0, 0 ); while( my $num = ) { chomp($num); ## print "num=[$num]\n"; if ( $num =~ /^[0].{0}/ ) { $ctrZ++; } elsif ( $num =~ /^\d[0-9]{1,3}$/ ) { $ctrP++; } else { $ctrN++; } } printf("freq(Z+):%8s\n", $ctrP ); printf("freq(Z-):%8s\n", $ctrN ); printf("freq(0):%9s\n", $ctrZ ); printf("Total:%11s\n", ($ctrP+$ctrN+$ctrZ) ); exit; __DATA__ 19 -22 498 512 15 -932 0 22 808 17 -32