in reply to array splitting

Is it the case, for any given input list, that there can only be one correct division of elements into two lists? Or are multiple alternatives acceptable?

And is it really the case that the input list will always consist of integer multiples of 5?

If the latter answer is "yes", and you're not too picky about the nature of the partitioning, this ought to do fine:

@input = (5, 10, 20, 25, 30, 40, 45, 50, 55, 65, 75, 80, 90); @out1 = grep /5$/, @input; @out2 = grep /0$/, @input;
If that's not suitable, you'll need to be clearer about what the other constraints are for the partition.