use strict; use warnings; use feature 'say'; use Data::Dumper; my %results; while () { chomp; $results{'zero'}++ if $_ == 0; $results{'pos'}++ if $_ > 0; $results('neg'}++ if $_ < 0; } print Dumper \%results;