[Rio-pm] Limpar tela

Stanislaw Pusep creaktive em gmail.com
Domingo Abril 15 07:36:51 PDT 2012


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
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120415/f9e733f4/attachment-0001.html>


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