Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

RE: I have contributed a module to CPAN

by princepawn (Parson)
on Sep 21, 2000 at 19:34 UTC ( #33501=note: print w/ replies, xml ) Need Help??


in reply to I have contributed a module to CPAN

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.


  • Comment on RE: I have contributed a module to CPAN
    Select or Download Code
    Subtract arrays (RE: I have contributed a module to CPAN)
    by tye (Cardinal) on Sep 21, 2000 at 20:00 UTC

      In the works unless I know of something better: a module to return the subtraction of the contents of arrays.

      You mean something like:

      # "Subtract" (remove) elements of @minus from @list: my %dup; @dup{@minus}= (); @list= grep { exists $dup{$_} } @list;

      Update: Thanks to PrincePawn for noting that I left out "not" above.

              - tye (but my friends call me "Tye")
        Set::Scalar has functionality like this.. Set intersections, unions, subsets, etc.
        This looks like the intersection
        grep { not exists $dup{$_} } @list
        should be the difference.

    Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Node Status?
    node history
    Node Type: note [id://33501]
    help
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others lurking in the Monastery: (3)
    As of 2014-09-22 23:22 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (208 votes), past polls