[perl] Perl 용 대화식 콘솔을 시작하려면 어떻게해야합니까?

irbRuby 또는 pythonPython 명령 과 유사한 Perl 용 대화식 콘솔을 시작하려면 어떻게 해야합니까?



답변

다음과 같이 간단한 프로그램에서 perl 디버거를 사용할 수 있습니다.

perl -de1

또는 Alexis Sukrieh 의 Perl Console 응용 프로그램이 있지만 사용하지 않았습니다.


답변

Matt Trout은 REPL에 관한 기사를 썼을뿐만 아니라 실제로는 한 권을 썼습니다 -Devel :: REPL

나는 그것을 조금 사용했고 꽤 잘 작동하며 활발한 개발 중입니다.

BTW, 나는 왜 누군가 콘솔에서 “perl -e”를 사용한다고 언급 한 사람을 수정했는지 모른다. 이것은 실제로는 REPL이 아니지만 환상적으로 유용하며 항상 사용합니다.


답변

“psh”라고하는 스크립트를 작성했습니다.

#! /usr/bin/perl

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

입력 한 내용이 무엇이든 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


답변

히스토리를 원하면 rlwrap을 사용 하십시오 . 이것은 당신이 될 수있는 ~/bin/ips예를 들어 :

#!/bin/sh
echo 'This is Interactive Perl shell'
rlwrap -A -pgreen -S"perl> " perl -wnE'say eval()//$@'

그리고 이것은 다음과 같이 보입니다 :

$ ips
This is Interactive Perl shell
perl> 2**128
3.40282366920938e+38
perl> 


답변

펄에 대한 REPL (읽기, 평가, 인쇄, 루프) 인터페이스에 대해 묻는 것 같습니다. 이를 수행하는 몇 가지 방법이 있습니다.

  • 맷 송어에는 기사가 있습니다 을 쓰는 방법을 설명하는 가 있습니다.
  • Adriano Ferreira 가 몇 가지 옵션을 설명했습니다
  • 마지막으로 irc.perl.org에서 IRC를 타고 많은 인기 채널에서 평가판 봇 중 하나를 시험해 볼 수 있습니다. 그들은 당신이 그들에게 전달하는 펄 덩어리를 평가합니다.

답변

명령 줄을 콘솔로 사용합니다.

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

그런 다음 bash 기록을 사용 하여 이전 명령을 다시 가져올 수 있습니다 . 그러나 이것은 상태를 보존하지 않습니다.

이 양식은 “한가지 작은 것”을 테스트 할 때 가장 유용합니다 (Perl 질문에 대답 할 때와 같이). 종종 이러한 명령이 셸 스크립트 또는 makefile에 그대로 스크랩됩니다.


답변

Python처럼 내장 된 Perl 용 대화식 콘솔은 없습니다. 그러나 Perl Debugger를 사용하여 디버깅 관련 작업을 수행 할 수 있습니다. -d 옵션을 사용하여 켤 수 있지만 ‘man perldebug’를 확인하여 배울 수 있습니다.

약간의 인터넷 검색 후에는 Perl 콘솔을 구현하는 별도의 프로젝트가 있습니다. http://www.sukria.net/perlconsole.html .

도움이 되었기를 바랍니다!