<p>sub togglec {<br>
  return uc($1) if $1 =~ /[[:lower:]]/;<br>
  return lc($1);<br>
}</p>
<p>ainda acho o ternario mais adequado para a situação </p>
<div class="gmail_quote">Em 12/02/2012 10:36, "Tiago Peczenyj" <<a href="mailto:tiago.peczenyj@gmail.com">tiago.peczenyj@gmail.com</a>> escreveu:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
a preguiça passou:<br>
<br>
use strict;<br>
use warnings;<br>
use Encode;<br>
binmode STDOUT, ":utf8";<br>
<br>
my $string = "ação AÇÃO";<br>
<br>
print join "", map { ($_ =~ /[[:lower:]]/) ? uc($_) : lc($_) } split<br>
//, decode('UTF-8',$string);<br>
<br>
achei o operador ternario muito feio. ideias?<br>
<br>
2012/2/12 Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com">tiago.peczenyj@gmail.com</a>>:<br>
> opa<br>
><br>
> 2012/2/11 breno <<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>>:<br>
>><br>
>> sub inverter {<br>
>>   my $string = shift;<br>
>>   $string = ~ tr/a-zA-Z/A-Za-z/;<br>
>>   return $string;<br>
>> }<br>
>><br>
><br>
> Esta abordagem é otima mas tem suas limitações, como no caso da<br>
> palavra ação. como estou com preguiça não vou propor uma solução  mas<br>
> um uso de split com reduce e alguma magia negra pode resolver.<br>
><br>
><br>
> --<br>
> Tiago B. Peczenyj<br>
> Linux User #405772<br>
><br>
> <a href="http://pacman.blog.br" target="_blank">http://pacman.blog.br</a><br>
<br>
<br>
<br>
--<br>
Tiago B. Peczenyj<br>
Linux User #405772<br>
<br>
<a href="http://pacman.blog.br" target="_blank">http://pacman.blog.br</a><br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote></div>