use strict; use warnings; my @input = ( -222, -221, -21, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ); print $_, " " for oddDigitSum(@input); print "\n"; exit 0; sub oddDigitSum { my @ans; for my $int (@_) { my @digits = split //, abs $int; my $sum = 0; $sum += $_ for @digits; $sum % 2 and push @ans, $int; } return @ans; } #### use strict; use warnings; my @input = ( -222, -221, -21, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ); print $_, " " for oddDigitSum(@input); print "\n"; exit 0; sub oddDigitSum { my @ans; for my $int (@_) { my $sum = 0; $sum += $_ for split //, abs $int;; $sum % 2 and push @ans, $int; } return @ans; } #### use strict; use warnings; my @input = ( -222, -221, -21, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ); print $_, " " for oddDigitSum(@input); print "\n"; exit 0; sub oddDigitSum { my @ans; for my $int (@_) { my $sum = Summ( split //, abs $int );; $sum % 2 and push @ans, $int; } @ans; } sub Summ { my $sum = 0; $sum+=$_ for @_; $sum; } #### use strict; use warnings; my @input = ( -222, -221, -21, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ); print $_, " " for oddDigitSum(@input); print "\n"; exit 0; sub oddDigitSum { my @ans = map { my $sum = Summ( split //, abs $_ );; $sum % 2 ? $_ # keep oddities : () ; } @_; @ans; } sub Summ { my $sum = 0; $sum+=$_ for @_; $sum; } #### use strict; use warnings; my @input = ( -222, -221, -21, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ); print $_, " " for oddDigitSum(@input); print "\n"; exit 0; sub oddDigitSum { map { my $sum = 0; $sum+=$_ for split //, abs $_ ;; $sum % 2 ? $_ # keep oddities : () ; } @_; }