Meio estranho você não entender when e entender given, mas vamos lá! Normalmente eu mandaria um RTFM, mas já estou velho e manso ultimamente...
given é equivalente a 'switch' when é equivalente a 'case' Então, se você estiver usando Perl 5.10 ainda, <code> use feature qw/switch say/; #Isso sim, é escroto pra caramba! Se a função chama-se 'given', pra que mudar o nome para switch??? use strict; use warnings; #Ou dane-se tudo isso e faça 'use common::sense'; my $var = 'Carneirao'; given($var){ when( 'Carneirao'){ say "Opa, sou eu!"; } when(/Sbrebows/){ say 'WTF???'; } default { say "Nao sei o que quer dizer..."; } } #Antigamente fazíamos assim: use Switch; switch($var){ case 'Carneirao' { say "Opa, sou eu!";} case /Sbrebows/ {say "WTF";} else { say "Nao sei o que quer dizer";} } #Mas, do Perl 5.10 em diante, o módulo Switch está com status 'deprecated', então use a primeira opção! </code> Agora sim! Para mais informações RTFM my friend!!! http://perldoc.perl.org/Switch.html http://perldoc.perl.org/perlsyn.html#Switch-Statements :-) Cheers! 2012/12/13 breno <br...@rio.pm.org> > 2012/12/12 Aureliano Guedes <guedes_1...@hotmail.com>: > > Ainda não tinha me aventurado nas novidades do Perl 5.16. > > > > o when eu entendi, mas o given não, alguem poderia me explicar o uso do > > given?? > > > > O break ja funciona no 5.16?? se sim, como??? > > > > given/when existe no Perl desde a versão 5.10, com direito a default, > continue e break =) > > Pra saber como, dá uma olhada aqui ó: > > http://perldoc.perl.org/perlsyn.html#Switch-Statements > > tem tudo explicadinho, inclusive o fato de que given() é experimental > - a forma recomendada de definir o tópico é com for(). > > Boa diversão! > > []s > > -b > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- André Garcia Carneiro Software Engineer (11)982907780
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm