The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Util::Medley::List - utility methods for working with lists

VERSION

version 0.060

SYNOPSIS

 %map = $util->listToMap(@list);
 %map = $util->listToMap(list => \@list);
 
 $min = $util->min(@list);
 $min = $util->min(list => \@list);
 
 $max = $util->max(@list);
 $max = $util->max(list => \@list);

 @list = $util->undefsToStrings(@list);
 @list = $util->undefsToStrings(list => \@list);

 @uniq = $util->uniq@list);
 @uniq = $util->uniq(list => \@list); 
 

DESCRIPTION

...

METHODS

contains

Search for pattern in a list.

Returns bool

usage:
  $bool = $util->contains(\@list, 'mystring');
  $bool = $util->contains(\@list, undef);
  $bool = $util->contains(\@list, qr/myregex/);

  $bool = $util->contains(list => \@list, match => 'mystring');
  $bool = $util->contains(list => \@list, match => undef);
  $bool = $util->contains(list => \@list, match => qr/myregex/);;
   
args:
list [ArrayRef]

An array of values.

match [Str|Regexp|Undef]

Pattern to search for. This can be a string, regex, or undef.

diff

Returns an array of elements that are found in list1 or list2, but not both.

Wrapper around List::Compare::get_symmetric_difference().

usage:
  @diff = $util->diff(\@list1, \@list2, $sort);

  @diff = $util->diff(list1 => \@list1,
                                          list2 => \@list2,
                                          sort => $sort);
   
args:
list1 [ArrayRef]

The first array.

list2 [ArrayRef]

The second array.

sort [Bool]

Flag to enable/disable pre-sorting. This leverages the nsort method, within this class, rather than Perl's sort routine.

Default is 1.

differ

Compares two arrays and returns true if they differ or false if not.

usage:
  $bool = $util->differ(\@list1, \@list2, $sort);

  $bool = $util->diff(list1 => \@list1,
                                          list2 => \@list2,
                                          sort  => $sort);
   
args:
list1 [ArrayRef]

The first array.

list2 [ArrayRef]

The second array.

sort [Bool]

Flag to enable/disable pre-sorting. This leverages the nsort method, within this class, rather than Perl's sort routine.

Default is 1.

isArray

Checks if the scalar value passed in is an array.

usage:
  $bool = $util->isArray(\@a);

  $bool = $util->listToMap(ref => \@a);
   
args:
ref [Any]

The scalar value you wish to check.

listToMap

usage:
  %map = $util->listToMap(@list);

  %map = $util->listToMap(list => \@list);
   
args:
list [Array|ArrayRef]

The array you wish to convert to a hashmap.

min

Just a passthrough to List::Util::min()

usage:
 $min = $util->min(@list);
 
 $min = $util->min(list => \@list);

max

Just a passthrough to List::Util::max()

usage:
 $max = $util->max(@list);
 
 $max = $util->max(list => \@list);

nsort

Sort an array naturally (case in-sensitive). This behaves the same way Sort::Naturally::nsort does with the exception of using fc (casefolding) instead of lc (lowercase). This guarantees the same results without regard to locale (which Sort::Naturally::nsort does use).

usage:
 @sorted = $util->nsort(@list);
 
 @sorted = $util->nsort(list => \@list);
args:
list [Array|ArrayRef]

The list to act on.

shuffle

Just a passthrough to List::Util::shuffle()

usage:
 $max = $util->shuffle(@list);
 
 $max = $util->shuffle(list => \@list);

undefsToStrings

usage:
 %map = $util->undefsToStrings($list, [$string]);

 %map = $util->undefsToStrings(list => \@list, [string => $str]);
   
args:
list [ArrayRef]

The list to act on.

string [Str]

What to convert undef items to. Default is empty string ''.

uniq

Just a proxy to List::Util::uniq().

usage:
 @uniq = $util->uniq(@list);

 @uniq = $util->uniq(list => \@list);