¿Cómo puedo iniciar una consola interactiva para Perl?
¿Cómo puedo iniciar una consola interactiva para Perl, similar al irb
comando para Ruby o python
Python?
Puedes usar el depurador de Perl en un programa trivial, así:
perl -de1
Este comando iniciará el depurador de Perl ( -d
) en la expresión 1
( -e1
), porque el depurador quiere depurar algo (normalmente un archivo que contiene código Perl). perl -d -e 1
El comando también podría escribirse .
Alternativamente, existe la aplicación Perl Console de Alexis Sukrieh , pero no la he usado.
Matt Trout no solo escribió un artículo sobre un REPL, sino que también escribió uno - Devel::REPL
Lo he usado un poco y funciona bastante bien y está en desarrollo activo.
Por cierto, no tengo idea de por qué alguien modificó a la persona que mencionó el uso de "perl -e" desde la consola. Esto no es realmente un REPL, es cierto, pero es increíblemente útil y lo uso todo el tiempo.
Si quieres historial, usa rlwrap . Este podría ser tu ~/bin/ips
por ejemplo:
#!/bin/sh
echo 'This is Interactive Perl shell'
rlwrap -A -pgreen -S"perl> " perl -wnE'say eval()//$@'
Y así es como se ve:
$ ips
This is Interactive Perl shell
perl> 2**128
3.40282366920938e+38
perl>
Escribí un script que llamo "psh":
#! /usr/bin/perl
while (<>) {
chomp;
my $result = eval;
print "$_ = $result\n";
}
Lo que escribas, se evalúa 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