[SP-pm] expressões regulares e Locale

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Segunda Janeiro 30 12:08:54 PST 2006


Oi Roberto,

--- saopaulo-pm-request em pm.org escreveu:

> From: Roberto Maluhy Junior <maluhy em gmail.com>
> Subject: Re: [SP-pm] Digest SaoPaulo-pm, volume 16,
> assunto 21
> Ficou mais ou menos assim:
> ---
> use locale;
> use POSIX qw(locale_h);
> setlocale(LC_CTYPE, "en_US.iso88591");
> 
> sub alfabeticamente {
>   my $tmpa = $a;
>   my $tmpb = $b;
> 
>   $tmpa = "a" if ($a =~ /[áàâãä]/);
>   $tmpa = "e" if ($a =~ /[éèêë]/);
>   $tmpa = "i" if ($a =~ /[íìîï]/);

# um monte de código depois

>   unless ("\l$tmpa" cmp "\l$tmpb") {
>     $tmpa cmp $tmpb;
>   }
> }
> ---
> 
> Bom, não é nada elegante mas funcionou.
> Quanto às expressões regulares, o \w reconhece
> caracteres acentuados
> após o setlocale(...).

Você pode usar um hash para amazenar essas suas
regras. Se sua função for chamada mais de uma vez,
você só tem que iterar sobre o hash.

[]'s


Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1


	



	
		
_______________________________________________________ 
Yahoo! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 



Mais detalhes sobre a lista de discussão SaoPaulo-pm