302 votes

Comment puis-je démarrer une console interactive pour Perl?

Comment puis-je démarrer une console interactive pour Perl, similaire à la commande irb pour Ruby ou python pour Python?

335voto

Daniel Papasian Points 10206

Vous pouvez utiliser le débogueur perl sur un programme trivial, comme ceci:

perl -d -e 1

Sinon, il y a un logiciel pour être plus une console, mais je ne l'ai pas utilisé: http://www.sukria.net/perlconsole.html

67voto

Dave Rolsky Points 3659

Matt Trout n'a pas seulement écrit un article sur un REPL, il en a écrit un - Devel :: REPL

Je l'ai un peu utilisé et ça marche plutôt bien, et c'est en développement actif.

BTW, je ne sais pas pourquoi quelqu'un a modifié la personne qui a mentionné l'utilisation de "perl -e" de la console. Ce n'est pas vraiment un REPL, c'est vrai, mais c'est fantastique, et je l'utilise tout le temps.

40voto

raldi Points 5114

J'ai écrit un script que j'appelle "psh":

 #! /usr/bin/perl

while (<>) {
  chomp;
  my $result = eval;
  print "$_ = $result\n";
}
 

Quoi que vous tapiez, il évalue en Perl:

 > gmtime(2**30)
gmtime(2**30) = Sat Jan 10 13:37:04 2004

> $x = 'foo'
$x = 'foo' = foo

> $x =~ s/o/a/g
$x =~ s/o/a/g = 2

> $x
$x = faa
 

23voto

amoore Points 335

Je pense que vous avez une question sur une REPL (Read, d'Évaluer, d'Impression, Boucle) de l'interface perl. Il ya quelques façons de le faire:

  • Matt Truite a un article qui explique comment écrire une
  • Adriano Ferreira a décrit certaines des options
  • et enfin, vous pouvez vous connecter sur IRC à irc.perl.org et essayer un de l'eval robots dans de nombreuses chaînes populaires. Ils évalueront les morceaux de perl que vous passez à eux.

15voto

clintp Points 5127

Vous pouvez toujours simplement tomber dans le débogueur intégré et exécuter des commandes à partir de là.

    perl -d -e 1
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X