in reply to are they all there?
#!/usr/bin/perl # sample data my @required = a..f; my @collections = ([b..g],[c..h],[d..i],[e..j],[f..k]); my $elems = scalar @required; # number of elements foreach my $coll (@collections) { # foreach collection my %missing = (); # assume that all @missing{@required} = (1) x $elems; # items are missing # reset missing flag for elements in collection # and push the missing ones onto the collection $missing{$_} = 0 for grep {exists $missing{$_}} @$coll; push @$coll, grep {$missing{$_}} @required; } foreach my $coll (@collections) { print join (',', @$coll), "\n"; } __END__ output: b,c,d,e,f,g,a c,d,e,f,g,h,a,b d,e,f,g,h,i,a,b,c e,f,g,h,i,j,a,b,c,d f,g,h,i,j,k,a,b,c,d,e
Something between jhourcle's and jwkrahn's solution.
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
|
|---|