Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • I was very proud of this recent substitution that implements the Euclidean algorithm: [] It follows in the fine tradition of the regex primality test by using repeated capturing groups to perform division with remainder.
  • perl -MSome::Module -e 0

    perl -E 'say foreach split ":", $ENV{PATH}' # Or other pathlike thing.

    ack --text -l '\bv1.2.3\b' | xargs perl -pi -e 's/\bv1\.2\.3\b/v1.2.4/g'

    Otherwise, it's mostly experiments; I prefer bash to a REPL.

  • ~$ perl -MAcme::MetaSyntactic=donmartin -E 'say metaname'

    Or, if I need several alternatives to boring values like 'foo':

    ~$ perl -MAcme::MetaSyntactic=any -E 'say metaname for 1..10'
    b romine

    But usually I prefere the donmartin theme

  • MNooning wrote:

    Here are some Windows one-liners. On Linux, use single quotes and forward slashes.
    Find the INC path that Perl sees when it starts up.
    >perl -e "print qq[INC = @INC\n];"
    INC = C:/Perl/site/lib C:/Perl/lib .

    Another way to find the INC path.
    perl -wle "print for @INC"

    Find out if a module is installed. If it is, no error messages will show.
    >perl -e "use Tk"

    Obtain the version of an installed module.
    >perl -MTk -e "print \"$Tk::VERSION\n\"
  • Still my favorite is:

    perl -ple'$_=eval'

    It's a pure REPL. It evaluates every line from stdin and outputs whatever they evaluate to. It has many uses, but most of the time it's "just" a very powerful calculator.

  • I find I use -a rather alot for snippets like the following:

    dpkg -l | perl -lane 'print $F[1] if $F[1] =~ /ruby/'

    It's still useful for alternative delimiters. Pretending dpkg used tabs for delimiters, I'd add the parameter


    It also find it's really helpful to got a proper handle on quoting whether in my shell or in perl. Often in a one-liner I'm using qq{} in perl to avoid messing with my shell's own use of ' or ". Occasionally I use bash's $'\t' syntax which lets me say things like

    perl -F$'\t'

  • Here’s a replacement for cat(1):

    perl -please somefile.txt