[Rio-pm] Limpar tela

breno breno em rio.pm.org
Domingo Abril 15 17:33:54 PDT 2012


Stan++

Resposta completa, direta e cobrindo exatamente (e somente) aquilo que
foi perguntado. Parabéns!


[]s

-b

On Sun, Apr 15, 2012 at 11:36 AM, Stanislaw Pusep <creaktive em gmail.com> wrote:
> A clássica "barrinha girano":
>
> perl -e '$| = 1; @s = qw(| / - \\); while(++$i) { print $s[$i % @s], "\r" }'
>
> Repare no "$| = 1" no começo, isso força o flush do output para cada print
> (o default é flush quando encontra um caractere LF, "\n").
> Agora, para imprimir coisas diferentes na mesma linha de uma forma
> razoavelmente compatível, é só usar o caractere CR, "\r").
> Nota de rodapé: texto no formato "DOS" termina as linhas com CRLF; já o
> formato "UNIX" presume que LF já basta. Se não me falha a memória, MacOS
> antes do X usava apenas CR.
> Também recomendo dar uma olhada
> no https://metacpan.org/module/Term::ProgressBar
>
> ABS()
>
>
>
>
> On Sun, Apr 15, 2012 at 11:15, Aureliano Guedes <guedes_1000 em hotmail.com>
> wrote:
>>
>> O problema maior é apagar somente os pontos, deixando na tela tudo aquilo
>> que ja foi impresso.
>>
>>
>> ________________________________
>> From: guedes_1000 em hotmail.com
>> To: rio-pm em pm.org
>> Date: Sun, 15 Apr 2012 14:04:24 +0000
>> Subject: [Rio-pm] Limpar tela
>>
>>
>> Bom dia,
>> Monges.
>>
>> Estava pensando se teria como limpar tela sem o uso de recursos externos
>> pela função "system",
>> pois o uso dela limita a portabilidade entre plataformas.
>>
>> Digamos que eu tenha uma rotina que imprima na tela de 1 a 3 pontos, como
>> aquela barra
>> de atualização do Windows.
>>
>> _____________________________________________________________________
>> my $string = '.';
>>
>> while (($string eq '.') or ($string eq '..') or ($string eq '...')){
>>
>>     if (($string eq '.') or ($string eq '..')){
>>         print $string, "\n";
>>         $string .= '.';
>>     }
>>
>>     else {
>>         print $string, "\n";
>>         chop $string;
>>         chop $string;
>>     }
>>
>>     sleep 1;
>> }
>> _____________________________________________________________________
>>
>> mas eu quero que a cada print a tela seja limpada de forma a aparecer so o
>> print da vez,
>> contudo mantendo a portabilidade do codigo entre as plataformas.
>>
>> Alguma forma simples de fazer isso??
>>
>> Desde já grato,
>> Aureliano Guedes.
>>
>> _______________________________________________ Rio-pm mailing list
>> Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm


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