NAME
Array::KeepGrepped - Like grep, only keeps the stuff it filters out
VERSION
version 5
SYNOPSIS
use Array::KeepGrepped qw/kgrep/;
my @numbers = 1..10;
my ($even, @odd) = kgrep { $_ % 2 } @numbers;
$, = ","; print @odd,@$even; # prints "1,3,5,7,9,2,4,6,8,10"
DESCRIPTION
Works like the built-in Perl 'grep', but instead of just skipping over the entries that don't match, puts them instead into a seperate array that's returned (by reference) as the first item of the returned list.
Primary use for this is when you want to remove elements from an array in-place, but still be able to use what you removed.
EXAMPLES
my @good = qw/good bad good evil good wicked good/;
my $bad;
($bad, @good) = kgrep { $_ =~ /good/ } @good;
say "@$bad | @good"; # bad evil wicked | good good good good
SEE ALSO
grep
AUTHOR
Dominic Humphries <dominic@oneandoneis2.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Dominic Humphries.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.