I have contributed the following modules
Array::Reform --- convert 1 dimensional arrays to 2 dimensional arrays where each arrayref is of specified length. E.g.
@x=(1,2,3,4,5,6)
Array::Reform->reform(\@x,2);
yields
[ [ 1 , 2] , [ 3 , 4 ] , [ 5, 6] ]
Data::Constraint --- make constraint checking of lists of values more
concise. E.g.
if (nonzero ($value,$value2,$value3)) { ; } if (zero
($value,$value2,$value3)) { ; } # do something when pagemode i
+s one in the list.
if (any(map { $PAGEMODE
eq $_ } ('CONFIRM_OFFER', 'VIEW_DETAILS', 'Purchase Item', 'Confir
+m
Counter Offer')) { handle_these_pagemodes() }
Date::Horoscope --- determine what Zodiac sign a certain date falls under (uses Date::Manip)
Date::Ordinal --- Conversion of dates to ordinal numbers and vice versa. E.g.
use Date::Ordinal;
$ord = month2ord('January'); # $ord gets 1
$mon = ord2month('1'); # $mon gets 'Januar
+y'
$mon = ord2month(1); # $mon gets 'Januar
+y'
$mon = ord2month('01'); # $mon gets 'Januar
+y'
$arryref = all_month_ordinations
@arry = all_month_names
$arryref = all_month_names_ref
$arryref = all_short_month_names_ref
$arryref = all_day_ordinations $arryref = all_hour_ord
+inations
$arryref = all_minute_ordinations $hashref = ordinatio
+n_month_pair # {'01' => 'January', ... }
@day = days
HTTP::File
--- reduce CGI file uploads to 1 line. E.g.
$file_pointer = $cgi->param('file_tag');
$file_upload = HTTP::File::upload($file_pointer,'/target-dir');
Locale::US --- Two letter codes for state identification and vice versa.
For example, 'AL' is the code for 'Alabama'.
Parse::FixedDelimiter --- E.g.,
use Parse::FixedDelimiter;
$phone_number=803-781-4191;
Parse::FixedDelimiter::parse($phone_number,
\%moms_phone,
'-',
[ 'area_code', 'exchange', 'numbe
+r' ]); for (keys %moms_phone) {
print $_, " ", $moms_phone{$_}, $/;
} # yields $moms_phone{area_code} == 803
# $moms_phone{exchange} == 781
# $moms_phone{number} == 4191
Parse::FixedLength parse a string containing fixed length fields into
component parts. E.g.,
use Parse::FixedLength;
$phone_number=8037814191;
parse_FL($phone_number,
\%moms_phone,
[
{'area_code' => 3},
{'exchange' => 3},
{'number' => 4} ] ); for (keys %moms_pho
+ne) {
print $_, " ", $moms_phone{$_}, $/;
} # yields $moms_phone{area_code} == 803
# $moms_phone{exchange} == 781
# $moms_phone{number} == 4191
In the works unless I know of something better: a module to return the subtraction of the contents of arrays.