[SP-pm] perl interativo (era: printenv em perl?)

Luis Motta Campos luismottacampos at yahoo.co.uk
Thu Jun 24 11:06:05 PDT 2010


On 06/23/2010 08:45 PM, Ronaldo Ferreira de Lima wrote:
> Seguindo sua sugestão Luis, eu fiz ontem um protótipo pré-beta:
> 
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> use diagnostics;
> 
> my $code;
> my $prompt = q(Perl> );
> $prompt = qq(\e[40;32;1m${prompt}\e[0m);
> do {
>     print($prompt);
>     if ($code) {
> 		if ( substr($code, 0, 7) eq q(perldoc) ) {
> 			system($code);
> 		}
> 		else {
> 			my @result = eval($code);
> 			foreach my $result ( @result ) {
> 				print(qq($result\n));
> 			}
> 			warn(qq($@.\n)) if ($@);

Eu tenho uma pergunta: por que você está forçando contexto de lista e
capturando o resultado do eval() para depois tentar imprimir?

Um "Shell Perl" não precisa fazer estas coisas. Você tem alguma razão
para esta implementação?

> 		}
>     }
> } while ( $code = <> );
> __END__
> 
> Conforme também sugerido, comecei a olhar ontem os Term::* do CORE,
> talvez e vou fazer alguns testes para ver se consigo criar algo mais
> usável neste sentido, uma vez que pelo comportamento do eval não
> consigo habilitar ou desabilitar pragmas por exemplo.

Dá uma olhada no Safe::World, o código pode te dar idéias de como
contornar esta limitação do eval():

http://search.cpan.org/~gmpassos/Safe-World-0.14/lib/Safe/World.pm

> Como você disse (e era o que você queria), eu vou realmente quebrar a cabeça.

Não só isso: você está conquistando respeito e admiração aqui na lista,
eu garanto. ;)

> Só me complica meus recursos limitados, e depender de lan house para
> acesso a internet.

Economicamente falando, eu acho que pode ser mais vantajoso para você
assinar um provedor de internet com linha discada do que continuar
usando uma lan-house para acessar a internet... eu arrisco dizer que sai
mais barato do que acessar duas horas por semana... talvez se você
disser em que localidade você está, o pessoal da lista possa te ajudar a
encontrar um provedor de acesso mais em conta. Por favor tome cuidado de
não revelar seu endereço, lembre-se de que uma lista de discussão é
pública, e eu tenho certeza de que você não quer ver seu endereço no
jornal de amanhã... ;)

Putamplexos
-- 
Luis Motta Campos is a DBA,
Perl Programmer, foodie and photographer.



More information about the SaoPaulo-pm mailing list