it-swarm-tr.com

Perl için etkileşimli konsolu nasıl başlatabilirim?

Perl için, Ruby için irb komutuna veya Python için python komutuna benzer bir etkileşimli konsolu nasıl başlatabilirim?

249
ibz

Perl hata ayıklayıcısını, benzer bir programda kullanabilirsiniz:

Perl -de1

Alternatif olarak Alexis Sukrieh 'in Perl Console uygulaması var, ancak kullanmadım.

280
Daniel Papasian

Matt Trout sadece bir REPL ile ilgili bir makale yazmakla kalmadı, aslında bir yazdı - Devel :: REPL

Biraz kullandım ve oldukça iyi çalışıyor ve aktif olarak geliştiriliyor.

BTW, neden birinin "Perl-e" kullanarak konsoldan bahseden kişiyi modda ettiği hakkında hiçbir fikrim yok. Bu gerçekten bir REPL değil, doğru, ama fevkalade faydalı ve ben her zaman kullanıyorum.

59
Dave Rolsky

"Psh" dediğim bir senaryo yazdım:

#! /usr/bin/Perl

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

Her ne yazarsanız, Perl'de değerlendirir:

> 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
34
raldi

Geçmişi istiyorsanız, rlwrap kullanın. Bu, örneğin ~/bin/ips olabilir:

#!/bin/sh
echo 'This is Interactive Perl Shell'
rlwrap -A -pgreen -S"Perl> " Perl -wnE'say eval()//[email protected]'

Ve bu nasıl göründüğü:

$ ips
This is Interactive Perl Shell
Perl> 2**128
3.40282366920938e+38
Perl> 
23
Ján Sáreník

Perl'e bir REPL (Oku, Değerlendir, Yazdır, Döngü) arayüzü hakkında soru sorduğunuzu düşünüyorum. Bunu yapmanın birkaç yolu var:

  • Matt Trout'un bir makale nasıl yazılacağını açıklayan
  • Adriano Ferreira bazı seçenekleri açıkladı
  • ve son olarak, irc.Perl.org adresindeki IRC üzerine atlayabilir ve popüler kanalların birçoğundaki değerlendirme botlarından birini deneyebilirsiniz. Onlara ilettiğiniz Perl parçalarını değerlendirecekler.
20
amoore

Komut satırını konsol olarak kullanıyorum:

$ Perl -e 'print "JAPH\n"'

Sonra eski komutları geri almak için bash geçmişimi kullanabilirim. Ancak bu durumu korumaz.

Bu form "küçük bir şeyi" test etmek istediğinizde kullanışlıdır (Perl sorularını yanıtlarken olduğu gibi). Genellikle, bu komutların Shell komut dosyasında veya makefile dosyalarında kazınmaya başladığını görüyorum.

19
Jon Ericson

Perl için Python yapar gibi yerleşik bir interaktif konsol yoktur. Bununla birlikte, Perl Debugger'ı ilgili hataları ayıklamak için kullanabilirsiniz. -D seçeneğiyle bunu açarsınız, ancak bunu öğrenmek için 'perldebug' adlı adamı kontrol etmek isteyebilirsiniz.

Bir parça googlingden sonra http://www.sukria.net/perlconsole.html adresinde bulabileceğiniz bir Perl konsolu uygulayan ayrı bir proje var.

Bu yardımcı olur umarım!

15
Frank Wiles

Her zaman yerleşik hata ayıklayıcıya bırakabilir ve oradan komutları çalıştırabilirsiniz.

   Perl -d -e 1
14
Clinton Pierce

İki popüler Perl REPL vardır.

  1. Devel :: REPL harika.
  2. Ancak IMO Yanıtla daha iyi.
11
Eric Johnson

Perl -d senin arkadaşın:

% Perl -de 0
6
Brian Phillips

devel :: REPL'den re.pl

6
Johny

Okuma-değerlendirme-baskı döngüsü:

$ Perl -e'while(<>){print eval,"\n"}'
5
KIM Taegyoon

Her zaman yaptım:

Perl -wlne'eval;[email protected][email protected]'

5.10 ile, ben değiştim:

Perl -wnE'say eval()//[email protected]'
5
ysth

Burada psh'ye bakabilirsiniz: http://gnp.github.io/psh/

Bu tam bir Shell (örneğin bash yerine kullanabilirsiniz), ancak Perl sözdizimini kullanır .. böylece anında vb. Yöntemler oluşturabilirsiniz.

4
shelfoo

Perl'in konsolu yok ama hata ayıklayıcı olarak kullanılabilir. Komut İsteminde, Perl -de 1 yazın. ("1" değeri önemli değil, sadece hiçbir şey yapmadan geçerli bir ifadedir.)

Perl Shell için birkaç seçenek var.

Daha fazla bilgi için perlfaq yazın.

4
Michael Carman

Debian/Ubuntu altında:

$ Sudo apt-get install libdevel-repl-Perl
$ re.pl

$ Sudo apt-get install libapp-repl-Perl
$ iperl
3
gavenkoa

Matt Trout'un genel bakışı , _Perl -de 0_ başından itibaren beş seçenek listeler ve o da Reply , eklentiler yoluyla genişletilebilirlik önemliyse veya içeren asgari, saf Perl çözümü için Eval::WithLexicals 'den tinyrepl okuma satırı desteği ve sözlüksel kalıcılığı.

1
Davor Cubranic

Sepya ve PDE'nin de kendi REPL'leri vardır (GNU Emacs için).

0
Johny

Ayrıca bakınız Şık REPL (GNU Emacs için) http://blog.jrock.us/articles/Stylish%20REPL.pod

0
Johny

Ayrıca CPAN'da ptkdb'yi arayın: http://search.cpan.org/search?query=ptkdb&mode=all

0
runrig