case insensitive hash

Jiri Polcar polcar na physics.muni.cz
Středa Červen 15 18:12:41 MEST 2005


On Wed, Jun 15, 2005 at 06:05:12PM +0200, Honza Pazdziora wrote:
> On Wed, Jun 15, 2005 at 05:54:04PM +0200, Jiri Polcar wrote:
> > 
> > Modul TieFolded uvadim na konci mailu. Problem je, ze potrebuju, aby se
> > vlasnost nerozlisovani velikosti pismen v klicich "dedila" i do hashoveho
> > pole, ktere tvori hodnotu $hash->{'karel'}. Takto:
> 
> Jinymi slovy, pokud je jako hodnota vkladana reference na hash, tak
> chcete i na tento hash dat tie na tuto tridu. Vidim to tedy na
> prislusnou opravu metody STORE ....
> 
> >     $hash->{'karel'} = {};
> >
> >     tie %{$hash->{'karel'}},  'TieFolded';
> >
> >     $hash->{'karel'}->{'abc'}  = 2;
> >     $hash->{'kAREl'}->{'aBc'} += 2;
> 
> .. coz Vam chyti tyto jednoduche pripady,

Mam same takove jednoduche pripady. Je to velmi jednoducha struktura:

    KEY_1:
        KEY_11: hodnota1
        KEY_12: hodnota2
        KEY_13: hodnota3

    KEY_2:
        KEY_21: hodnota21
        KEY_22: hodnota22
        KEY_23: hodnota23

>
> ale uz ne pripad, kdy udelam
> 
> 	$hash->{karel} = {
> 		a => 1,
> 		A => 2,
> 	};

Takovy pripad se nevyskytuje.

> takze by asi bylo vhodne v takovem pripade osetrit, ze se na zacatku
> provede znormalizovani toho "podhashe" a vsech podpodhashu.
> 

Jak jsem psal, tohle nebude nutne.

> Otazka samozrejme muze znit i tak, na co to v realu potrebujete
> (jestli nahodou neresite problem, ktery vubec nemel vzniknout).
> 

Ano, bohuzel resim. Vlastnost case insensitive se objevila az na zaver,
jinak bych zvolil jiny pristup. Ted se mi jevy jako nejjednodussi
"upgrade" toto.

Poradite, jak bych mel upravit metodu STORE?

--
JP


Další informace o konferenci Perl