Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
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 making s'mores by the fire in the courtyard of the Monastery: (4)
    As of 2015-07-04 23:15 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (60 votes), past polls