The following module was proposed for inclusion in the Module List:

  modid:       Tie::CsPrefHash
  DSLIP:       bdprp
  description: Prefer case-sensitive allow case-insensitive
  userid:      MIKO (Miko O'Sullivan)
  chapterid:    6 (Data_Type_Utilities)
  communities:

  similar:

  rationale:

    NAME

    Tie::CsPrefHash - Prefers case-sensitive, allows case-insensitive

    SYNOPSIS use Tie::CsPrefHash; my (%hash);

    tie %hash, 'Tie::CsPrefHash';

    # put several elements in using # different case variations of
    "Fred" $hash{'Fred'} = 'Title'; $hash{'fred'} = 'lower';
    $hash{'FRED'} = 'UPPER';

    # output "UPPER" print 'FRED: ', $hash{'FRED'}, "\n";

    # output one of the Fred variations # no promises on which one
    print 'frED: ', $hash{'frED'}, "\n";

    # output all three elements while (my($key, $val) = each(%hash))
    {print $key, ': ', $val, "\n"}

    DESCRIPTION

    Tie::CsPrefHash creates a hash that compromises between
    case-sensitive and case-insensitive. In most regards, CsPrefHash
    creates a normal hash: elements are stored using case-sensitive
    keys. If you put an element in and pull it back out using exactly
    the same key, you'll get exactly the same value. Keys that are
    different only in their upper/lowercase configuration are still
    considered different keys.

    Where Tie::CsPrefHash is different than regular hashes is that if
    an element is requested using a key that does not exist
    case-sensitively but does exist case-insensitively, then the
    existing element is returned. If more than one element matches on a
    case-insensitive basis, then one of them is arbitrarily chosen and
    returned.

  enteredby:   MIKO (Miko O'Sullivan)
  enteredon:   Mon Aug 12 22:07:09 2002 GMT

The resulting entry would be:

Tie::
::CsPrefHash      bdprp Prefer case-sensitive allow case-insensitive MIKO


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=0d100000_2316ae468951eba2&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=0d100000_2316ae468951eba2&SUBMIT_pause99_add_mod_insertit=1

Reply via email to