logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Array::Utils - small utils for array manipulation

Author

       Sergei A. Fedorov <zmij@cpan.org>

       I will be happy to have your feedback about the module.

Bugs

       None known yet

Description

       A small pure-perl module containing list manipulation routines. The module emerged because I was tired to
       include same utility routines in numerous projects.

Functions

       "unique"
           Returns an array of unique items in the arguments list.

       "intersect"
           Returns an intersection of two arrays passed as arguments, keeping the order of the second parameter.
           A nice side effect of this function can be exploited in situations as:

                   @atreides = qw( Leto Paul Alia 'Leto II' );
                   @mylist = qw( Alia Leto );
                   @mylist = intersect( @mylist, @atreides );  # and @mylist is ordered as Leto,Alia

       "array_diff"
           Return symmetric difference of two arrays passed as arguments.

       "array_minus"
           Returns the difference of the passed arrays A and B (only those array elements that exist in A and do
           not exist in B).  If an empty array is returned, A is subset of B.

           Function was proposed by Laszlo Forro <salmonix@gmail.com>.

Name

       Array::Utils - small utils for array manipulation

Synopsis

               use Array::Utils qw(:all);

               my @a = qw( a b c d );
               my @b = qw( c d e f );

               # symmetric difference
               my @diff = array_diff(@a, @b);

               # intersection
               my @isect = intersect(@a, @b);

               # unique union
               my @unique = unique(@a, @b);

               # check if arrays contain same members
               if ( !array_diff(@a, @b) ) {
                       # do something
               }

               # get items from array @a that are not in array @b
               my @minus = array_minus( @a, @b );

Warranty

       This is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.

perl v5.36.0                                       2022-10-15                                         Utils(3pm)

See Also