[Cascavel-pm] string e carecteres entre aspas ainda

Luis Champs de Carvalho monsieur_champs em yahoo.com.br
Terça Julho 6 14:56:25 CDT 2004


On Tue, 6 Jul 2004 dexter em ticbrasil.com.br wrote:

> a algum tempo perguntei a vcs, como pegar apenas os caracteres entre
> aspas em uma frase de um texto, com a resposta que vcs me enviarão
> montei alguns scripts que funcionarão muito bem. Porem agora prescisso
> fazer um programa que leia um arquivo, e pegue sempre o terceiro item
> [2], até ai tudo bem, porem as vezes esse item estará entre aspas, e as
> vezes não, gostaria que quando ele estiver entre aspas meu programa
> trate isso e tire as aspas e jogue pra um array :
>
> #!/usr/bin/perl
> `cat cfg|grep fruta>fruta`;
> open (FRUTA, "<fruta");
> while (<FRUTA>){
>   push @fruta, (split (/ /,$_)) [2];
> }
> foreach $fruta (@fruta){
>     if ($fruta eq "CARACTERES_ENTRE_ASPAS"  ){
>         $frut  substr($fruta, 1);
>         chop $frut;
>         push @frut, $frut;
>         print "$frut\n";
>     }
>     else
>      {
>       push @frut, $frut;
>       print "bbb";
>      }
> }
>

  Ricardo, eu não compreendi exatamente o que seu programa-exemplo faz...
mas parece que está de acordo com a especificação do que você deseja...

  Outra forma de fazer a mesma coisa é assim:

  perl -F'/\s+/' -lne 's/\"+//og; print if m/fruta/o;'

  Claro, isso não usa o @fruta, já que você não me contou para que ele
serve... :-)

  Mas você sempre pode mandar isso para outro script perl, simplesmente
acrescentando um "|" na frente do comando e escrevendo outro script que
usa alguma coisa do tipo

  #!/usr/bin/perl
  use warnings;
  use diagnostics;
  use strict;

  while( <> ){
    # Processa aqui, assume que $_ vai receber
    # um elemento do array "@frutas" de cada vez...
  }
  __END__

  Espero que isso ajude.
  Mais detalhes me ajudariam a ajudar mais... :-)
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Luis Campos de Carvalho is BSc in Comp Science,
  PerlMonk [SiteDocClan], Cascavel-pm Moderator,
  Unix Sys Admin && Certified Oracle DBA
  http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=






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