use strict; use warnings; my (%plus, %minus); while () { my ($fruit, $sign) = split; if ($sign eq '+') { $plus{$fruit} = 1; } else { $minus{$fruit} = 1; } } print "Positives are : ", (map "$_, ", keys %plus), "\n"; print "Negatives are : ", (map "$_, ", keys %minus), "\n"; __DATA__ apple + cherry - cherry + peach + banana -