I have an array having some interger elements. I have to split into 2 subsets. Need to verify that sum of these 2 subsets are equal or not. Subset size is not matter, it can be element count of 3,2 or 1,4 or any but should be in 2 part. For example...

Ex 1:
@a1 = qw(1, 3, 8, 4);
This array can be divided into to subsets (1,3,4)=8 and (8)=8, so these two have equal sum.

Ex 2:
@a1 = qw(1, 6, 2);
This cant be divided into two subsets of equal sum.Because (1,6)!=2 or any combination of a subset is not matching to another subset.

I tried below code but it is working for one set of iteration, actually it should check all possible set of iteration to find possiblities.

my @array= qw(1 3 5 7);
my @array= qw(1 3 5 7);
&test(\@array);
sub test
{
my ($s1,$s2);
my @a=@{$_[0]};
for (my $i=0;$i<=$#a ;$i++) {
($s1,$s2)=0;
for (my $j=0;$j<=$#a ;$j++) {
if ($i == $j) {
$s1=$s1+ $a[$j];
}
else{
$s2+=$a[$j];
}
}
}
print "\n";
}