<div>Então na verdade, nem é um while... seria o if mesmo :P</div><div><br></div><div>com o while ele faria todo o processo de novo para cada nova linha depois da ocorrencia...</div><div><br></div><div>colocaria da 50 ateh o final, depois da 51 até o final, até o final, hehehehe</div>
<div><br></div><div>só se rolasse dar um last no while interno e no do leitor (<..>), mas ai ficaria muito viajado na maionese.. rsrs</div><div><br></div><div>[]'s</div><div><br><div class="gmail_quote">2011/6/26 Renato Santos <span dir="ltr"><<a href="mailto:renato.cron@gmail.com">renato.cron@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hmm<div>Abrindo um segundo loop dentro do loop [tericamente] gastaria mais processo que analisar se a linha atual bate ou não [e ainda pode ser verificado antes...]</div>
<div>mas,</div><div>se o intuito for performance, e o texto não for grande [menos de 1mb] podemos fazer um slurp e jogar tudo numa msema linha e bater uma simples expressão:</div>

<div><br></div><div><br></div><div><font face="'courier new', monospace">$arquivointeiro <span style="font-size:14px;white-space:pre-wrap">= do { local ( @ARGV, $/ ) = $file; <> };</span></font></div>

<div><font face="'courier new', monospace">$procura = qr 'o que vc ta procurando';</font></div><div><font face="'courier new', monospace"><br></font></div>

<div><font face="'courier new', monospace">my ($ateofinal) = $arquivointeiro =~  /($procura.+)/;</font></div><div><div></div><div class="h5"><div><br><br><div class="gmail_quote">2011/6/26 Gustavo Telly <span dir="ltr"><<a href="mailto:gustavo.telly@gmail.com" target="_blank">gustavo.telly@gmail.com</a>></span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">acredito que a primeira solução do Renato me parece ser exatamente oque você precisa Flávio,<div>Se voce quise fazer pelo número da linha, acho que vai ficar mais complicado, por que você vai ter que colocar mais coisas no seu algoritmo(segundo exemplo do Renato).</div>



<div><br></div><div>E por cima mesmo, os 2 realizam a mesma coisa, de jeito diferente, mas acho que pra sua necessidade os primeiro é mais tranquilo :)</div><div><br></div><div>Você pode deixa-lo assim:</div><div><br></div>



<div><span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px"><div><div>$encontrou = 0;</div><div>$texto = '';</div><div>open(.., '<', ..);</div><div>
while( <..>) {</div><div>   ??? </div><div>    if ($_ =~ /algumaregexpr/ ) {</div><div>        $encontrou = 1;</div><div>    }</div></div><div>   while ($encontrou && !eof()){ #só mudar aqui para ele ir concatenando o valor até o fim do arquivo.</div>



<div>      $text .= $_;</div><div>   }</div><div>}</div><div><br></div><div>$textoAteoFinal = $texto;</div></span></div><div><div></div><div><div><br><br><div class="gmail_quote">2011/6/26 Renato Santos <span dir="ltr"><<a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a>></span><br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Toda a lógica para abrir o arquivo com perl está aqui:</div><a href="http://sao-paulo.pm.org/artigo/2010/analisedastecnicasparaabrirelerarquivos" target="_blank">http://sao-paulo.pm.org/artigo/2010/analisedastecnicasparaabrirelerarquivos</a><div>





<br></div><div>Toda lógica para fazer o que você quer está aqui:</div><div><br></div><div>vars </div><div>   a: texto</div><div>   b: numero</div><div><br></div><div>a esta vazio</div><div>b é indefinido</div><div><br></div>





<div>abrir arquivo</div><div>enquanto (ler(arquvio)) repita</div><div><br></div><div>   se (linha-atual tem a ocorrencia) entao</div><div>      b têm o valor da linha atual</div><div>   fim-se</div><div><br></div><div>   se (b estiver definido) entao</div>





<div>      a = a + linha</div><div>   fim-se</div><div>fim-enquanto</div><div><br></div><div>todo o valor de "a" neste ponto será o texto entre texto encontrado até final do arquivo.</div><div><div></div><div>
<div><br></div><div><br>

<div class="gmail_quote">2011/6/26 "Flávio R. Lopes" <span dir="ltr"><<a href="mailto:flavio.lopes@links.inf.br" target="_blank">flavio.lopes@links.inf.br</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<u></u>


  

<div bgcolor="#ffffff" text="#000000">
Putz, desculpe! Escrevi errado!<br>
Supondo que a o número da linha onde há a ocorrência seja a linha 100,
como poderia fazer então para copiar da linha 100 até o final do
arquivo?<div><div></div><div><br>
<br>
On 26-06-2011 21:28, Gustavo Telly wrote:
<blockquote type="cite">pq da linha 50 se a ocorrência está na 100 ???
  <div><br>
  </div>
  <div>não entendi muito bem....</div>
  <div><br>
  </div>
  <div>[]'s<br>
  <br>
  <div class="gmail_quote">2011/6/26 "Flávio R. Lopes" <span dir="ltr"><<a href="mailto:flavio.lopes@links.inf.br" target="_blank">flavio.lopes@links.inf.br</a>></span><br>
  <blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
    <div bgcolor="#ffffff" text="#000000">
Deixar eu explicar melhor.<br>
Supondo que o número da linha onde há a ocorrência da palavra seja a
linha número 100. Como eu faria para copiar/selecionar da linha 50 até
o final do arquivo?
    <div>
    <div><br>
    <br>
On 26-06-2011 21:19, "Flávio R. Lopes" wrote:
    <blockquote type="cite"> Olá Renato!<br>
Então, estive pensando também na seguinte hipótese: Eu tenho como obter
o número da linha onde está a primera ocorrência do valor. Então à
partir disto, eu copiaria desta linha até o final do arquivo.<br>
Dá para fazer isto?<br>
      <br>
On 26-06-2011 20:56, Renato Santos wrote:
      <blockquote type="cite">vc pode criar uma variavel que tera o
valor falso antes do
loop do arquivo, e mais uma vazia, e quando encontar o texto que está
procurando, jogue o troque o valor da variavel para outro, e depois
verifique se o valor é o .. ah, que saber:
        <div><br>
        </div>
        <div>$encontrou = 0;</div>
        <div>$texto = '';</div>
        <div>open(.., '<', ..);</div>
        <div>while( <..>) {</div>
        <div>   ??? </div>
        <div>    if ($_ =~ /algumaregexpr/ ) {</div>
        <div>        $encontrou = 1;</div>
        <div>    }</div>
        <div>    if ($encontrou){</div>
        <div>      $text .= $_;</div>
        <div>   }</div>
        <div>}</div>
        <div><br>
        </div>
        <div>$textoAteoFinal = $texto;</div>
        <div><br>
        </div>
        <div><br>
Têm muitas formas, mas está é a mais clara.</div>
        <div><br>
        </div>
        <div>
        <div class="gmail_quote">2011/6/26 "Flávio R. Lopes" <span dir="ltr"><<a href="mailto:flavio.lopes@links.inf.br" target="_blank">flavio.lopes@links.inf.br</a>></span><br>
        <blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">Olá
pessoal!<br>
Há alguns dias venho brigando com um  script, onde gostaria que este
script me ajudasse a selecionar algumas linhas de um arquivo de texto.<br>
Preciso selecionar, à partir da ocorrência de uma determinada string,
todo o texto até o final do arquivo.<br>
          <br>
Supondo que eu tenha uma linha que inicie com "26-06-2011", como
poderia fazer a regex para copiar todo o texto desta linha até o final
do arquivo, inclusive esta linha?<br>
          <br>
abraço,<br>
Flávio<br>
          <br>
          <br>
=begin disclaimer<br>
 Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
        </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
-- <br>
Renato Santos<br>
        <a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
        </div>
        <pre><fieldset></fieldset>
=begin disclaimer
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a>
 L<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank"><http://mail.pm.org/mailman/listinfo/saopaulo-pm></a>
=end disclaimer
  </pre>
      </blockquote>
      <br>
      <pre><fieldset></fieldset>
=begin disclaimer
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a>
 L<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank"><http://mail.pm.org/mailman/listinfo/saopaulo-pm></a>
=end disclaimer
  </pre>
    </blockquote>
    <br>
    </div>
    </div>
    </div>
    <br>
=begin disclaimer<br>
  Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
    <br>
  </blockquote>
  </div>
  <br>
  </div>
  <pre><fieldset></fieldset>
=begin disclaimer
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a>
 L<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank"><http://mail.pm.org/mailman/listinfo/saopaulo-pm></a>
=end disclaimer
  </pre>
</blockquote>
<br>
</div></div></div>

<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Renato Santos<br><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
</div>
</div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>
</div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Renato Santos<br><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
</div>
</div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>