#! perl
use strict;
use warnings;
use List::Util 'sum0';
use List::MoreUtils 'part';
my @array = @ARGV ? @ARGV : qw( -1 1 7 -4 3 -51 4 47 -87 );
@array = sort { $a <=> $b } @array;
my @part = part { $_ >= 0 } @array;
printf "Order of array: %s\n", join ' ', @array;
printf "Sum of all: %d\n", sum0 @array;
printf "Sum of positive: %d\n", sum0 @{ $part[1] };
printf "Sum of negative: %d\n", sum0 @{ $part[0] };
####
17:47 >perl 1384_SoPW.pl
Order of array: -87 -51 -4 -1 1 3 4 7 47
Sum of all: -81
Sum of positive: 62
Sum of negative: -143
17:47 >
####
for (@array){ #\sum of all numbers HERE sumAll
$sumAll +=$_;
}
####
$sumAll += $_ for @array;