Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Hidden features of Perl

by vxp (Pilgrim)
on Jun 22, 2009 at 00:48 UTC ( #773443=perlmeditation: print w/ replies, xml ) Need Help??

I stumbled upon this list of "hidden features of perl" and thought it'd a good idea if I got some of your replies as well!

Just as on the site, here a few "requirements":

Try to limit answers the Perl core and not CPAN

Please give an example and a short description

Comment on Hidden features of Perl
Replies are listed 'Best First'.
Re: Hidden features of Perl
by eyepopslikeamosquito (Chancellor) on Jun 22, 2009 at 23:44 UTC
      I believe that @{[]} is known as the "baby buggy". Can't remember where I read that though.

        Originally, it seems there was a crude name proposed for this operator, based on this response from BooK to Sebastien Aperghis-Tramoni:

        > Hey Philippe, why don't you give the name we found for @{[]} ? Because *you* found it, and want to have *my* name associated with it.

        To further deflect attention from the taboo name, BooK then started another fwp thread and suggested "Baby Cart". Which was rejected by native English speakers on the grounds that they had never heard it used in everyday speech -- some suggested alternatives, such as "Baby Carriage", or simply "Pram". Many other names were proposed in this long thread, including:

        As far as I'm aware, this important naming issue remains unresolved.

      Tadpole secret operator ~~($$..!$$) can be used as a kind of counter
      print $_ , ' => ', ~~($$..!$$), "\n" for qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
Re: Hidden features of Perl
by Arunbear (Parson) on Jun 22, 2009 at 10:12 UTC
Re: Hidden features of Perl
by Anonymous Monk on Jun 22, 2009 at 02:28 UTC
    Hidden? I don't think there are any left hiding :)
Re: Hidden features of Perl
by Jenda (Abbot) on Jun 22, 2009 at 13:24 UTC

    Esoteric? What the heck is esoteric about them? Agrrr. Anything that's not apparent to someone with strictly imperative background with no computer science knowledge whatsoever is deemed "esoteric". Nonsense.

    Enoch was right!
    Enjoy the last years of Rome.

      W(hat|TF) does this have to do with "imperative" or "computer science?" It seems non-obvious to me that a magic filehandle called "DATA" reads everything in the current file after a line containing only "__DATA__". Perl has a lot of non-obvious features, and that thread lists quite a few of them.

        It seems that you are arguing semantics, which isn't the point of this post.. post whatever _you_, personally, consider a "hidden feature". Don't worry about what others consider esoteric. :)

        Most of the stuff is something that looks esoteric to someone who was taught C or Fortran or who taught him/her-self VB and is so used to imperative programming, that he/she cannot think outside that old tiny box. The people that find references hard and higher order functions rocket science.

        And the DATA filehandle is no more esoteric than a print statement. A bit unusual maybe, non-obvious probably, but esoteric? That's a very big stretch of the meaning of the word.

        Enoch was right!
        Enjoy the last years of Rome.

Re: Hidden features of Perl
by whakka (Hermit) on Jun 22, 2009 at 23:23 UTC
    Not so much a "hidden feature" but a shout-out to Inline::C for making the task of hooking C code to Perl criminally easy. I would include all examples in the Cookbook to be good examples of "hidden" features, particularly the prospect of object-oriented C with Perl5 API calls.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://773443]
Approved by ysth
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (9)
As of 2015-11-26 12:05 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (697 votes), past polls