[Cascavel-pm] Duvida sobre variaveis

Antonio Carlos I. Paes lists em xms.com.br
Quinta Junho 8 07:40:07 PDT 2006


Opa, legal a "intro" do perldoc.. eu deveria ter olhado isso antes hehe

  # $daemon
  if ("$daemon" =~ "--" && "@mesg" =~ "MARK --") {
    my $daemon = "";
    my $mesg = "-- MARK --";
  }

  # $mesg
  if ($mesg) {
# So pra esclarecer, eu devo definir apenas uma vez o "my" numa secao? (if, 
while, etc.)
    my $mesg;
    ($mesg = "@mesg") =~ s/\\/\\\\/g;
    $mesg = $dsn->quote("$mesg");
  }
  else { return; }

Pergunta:
Impactaria em algo eu utilizar o metodo abaixo?

unless (@mesg) { return; }
my $mesg;
($mesg = "@mesg") =~ s/\\/\\\\/g;
$mesg = $dsn->quote("$mesg");

No lugar do if, else ?
Ah, agora o codigo ficou limpinho, sem mensagem de erro!

On Thursday 08 June 2006 10:25, Igor Sutton wrote:
> Sim, você tem que usar apenas uma vez a declaração em cada escopo. Por
> exemplo:
>
> <code>
> my $var1 = "a";
> {
>     my $var1 = "b";
>     print "$var1\n";
> }
> print "$var1\n";
> </code>
>
> No seu caso, você já deve ter declarado @mesg antes do seu 'if'. Por favor,
> dê uma olhada em 'perldoc perlintro' e 'perldoc strict'.
>
> On 6/8/06, Antonio Carlos I. Paes <lists em xms.com.br> wrote:
> > Bom, eu uso o @mesg, teria algo a ver?
> >
> >   # $daemon
> >   if ("$daemon" =~ "--" && "@mesg" =~ "MARK --") {
> >     my $daemon = "";
> >     my @mesg = "-- MARK --";
> >   }
> >
> > Duvida: Ta certo isso? if ("variavel" =~ "string") para obter uma
> > condicao sem
> > ER? Eu tentei == mas deu erro que nao era numerico :)
> >
> >   # $mesg
> >   if (@mesg) {
> >     my ($mesg = "@mesg") =~ s/\\/\\\\/g;
> >     $mesg = $dsn->quote("$mesg");
> >   }
> >   else { return; }
> >   print $mesg . "\n";
> >   return;
> >
> > On Thursday 08 June 2006 09:58, Nelson Ferraz wrote:
> > > Antonio Carlos I. Paes wrote:
> > > > O codigo abaixo representa essas linhas:
> > > >   # $mesg
> > > >   if (@mesg) {
> > > >     my $mesg = "@mesg";
> > > >     my $mesg =~ s/\\/\\\\/g;
> > > >     my $mesg = $dsn->quote("$mesg");
> > > >   }
> > > >   else { return; }
> > >
> > > Para eliminar os warnings, você só precisa definir o "my $mesg" uma
> > > única vez...
> > >
> > > if (@mesg) {
> > >      my $mesg = "@mesg";
> > >      $mesg =~ s/\\/\\\\/g;
> > >      $mesg = $dsn->quote("$mesg");
> > > }
> > >
> > > Verifique se você não está usando a variável $mesg antes ou depois
> > > deste "if"; se você precisar que a variável sobreviva depois do bloco,
> > > precisa declará-la fora dele:
> > >
> > > my $mesg;
> > >
> > > if (@mesg) {
> > >      $mesg = "@mesg";
> > >      $mesg =~ s/\\/\\\\/g;
> > >      $mesg = $dsn->quote("$mesg");
> > > }
> > >
> > > # $mesg continua a existir
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm


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