How can I start an interactive console for Perl?

前端 未结 23 2335
故里飘歌
故里飘歌 2020-12-07 07:37

How can I start an interactive console for Perl, similar to the irb command for Ruby or python for Python?

相关标签:
23条回答
  • 2020-12-07 07:53

    I've created perli, a Perl REPL that runs on Linux, macOS, and Windows.

    Its focus is automatic result printing, convenient documentation lookups, and easy inspection of regular-expression matches.
    You can see screenshots here.

    It works stand-alone (has no dependencies other than Perl itself), but installation of rlwrap is strongly recommended so as to support command-line editing, persistent command history, and tab-completion - read more here.

    Installation

    • If you happen to have Node.js installed:

      npm install -g perli
      
    • Otherwise:

      • Unix-like platforms: Download this script as perli to a folder in your system's path and make it executable with chmod +x.

      • Windows: Download the this script as perli.pl (note the .pl extension) to a folder in your system's path.
        If you don't mind invoking Perli as perli.pl, you're all set.
        Otherwise, create a batch file named perli.cmd in the same folder with the following content: @%~dpn.pl %*; this enables invocation as just perli.

    0 讨论(0)
  • 2020-12-07 07:55

    You can always just drop into the built-in debugger and run commands from there.

       perl -d -e 1
    
    0 讨论(0)
  • 2020-12-07 07:56

    Not only did Matt Trout write an article about a REPL, he actually wrote one - Devel::REPL

    I've used it a bit and it works fairly well, and it's under active development.

    BTW, I have no idea why someone modded down the person who mentioned using "perl -e" from the console. This isn't really a REPL, true, but it's fantastically useful, and I use it all the time.

    0 讨论(0)
  • 2020-12-07 07:56

    There isn't an interactive console for Perl built in like Python does. You can however use the Perl Debugger to do debugging related things. You turn it on with the -d option, but you might want to check out 'man perldebug' to learn about it.

    After a bit of googling, there is a separate project that implements a Perl console which you can find at http://www.sukria.net/perlconsole.html.

    Hope this helps!

    0 讨论(0)
  • 2020-12-07 07:57

    Under Debian/Ubuntu:

    $ sudo apt-get install libdevel-repl-perl
    $ re.pl
    
    $ sudo apt-get install libapp-repl-perl
    $ iperl
    
    0 讨论(0)
  • 2020-12-07 08:00

    If you want history, use rlwrap. This could be your ~/bin/ips for example:

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

    And this is how it looks like:

    $ ips
    This is Interactive Perl shell
    perl> 2**128
    3.40282366920938e+38
    perl> 
    
    0 讨论(0)
提交回复
热议问题