Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Hidden features of Perl

by eyepopslikeamosquito (Canon)
on Jun 22, 2009 at 23:44 UTC ( #773791=note: print w/ replies, xml ) Need Help??


in reply to Hidden features of Perl

Some old PM nodes I remember that seem relevant:

From The Lighter Side of Perl Culture (Part IV): Golf, some "hidden golfing features":

Golfing Technique Inventor Year ----------------- -------- ---- @{[]} aka ??? The Larry or 1994 The Schwartz }{ aka eskimo greeting The Abigail late 1990s ~~ aka inchworm ??? ~- aka inchworm-on-a-stick The Hospel 2002 $_ x= boolean expression The Larry early 1990s y///c aka Abigail's Length Horror The Hall 1996 stuff value into $\ for printing The van der Pijll 2001 }for(...){ variation of eskimo The Hospel 2001 --$| magical flip-flop The Hospel 2002 \$h{X} is one less than ++$h{X} aka Thelen's Device The Thelen 2002 -i and $^I for data value The Sperling 2002

Update: BooK has recently popularized a new set of secret operators, the screwdriver operators:

-=! and -=!! - flathead +=! and +=!! - phillips *=! and *=!! - torx x=! and x=!! - pozidriv (http://en.wikipedia.org/wiki/Pozidriv) This is a conditional "set to empty string" operator (the string equivalent of the torx): $x x=!! $y is same as $x = '' unless $y; $x x=! $y -- $x = '' if $y;
These screwdriver operators follow on from earlier secret operator work, such as Dmitry Karasik's original set of "!"-based secret operators and BooK's flaming X-wing operator (@data{@fields} =<>=~ $re).

March 2012 Update: BooK at it again, this time proposing a new sperm secret operator. An alternative name is the "kite" secret operator.

From BooK "perlsecret - Perl secret operators and constants" draft man page:

Perl secret operators:

Operator Nickname Function ================================================ 0+ Venus numification @{[ ]} Babycart list interpolation !! Bang bang boolean conversion }{ Eskimo greeting END block for one-liners ~~ Inchworm scalar ~- Inchworm on a stick high-precedence decrement -~ Inchworm on a stick high-precedence increment -+- Space station high-precedence numification =( )= Goatse scalar / list context =< >=~ Flaming X-Wing match input and assign captures ~~<> Sperm <<m=~>> m ; Ornate double-bladed sword -=! -=!! Flathead +=! +=!! Phillips x=! x=!! Pozidriv *=! *=!! Torx

Perl secret constants:

Constant Nickname Value ================================================= <=><=><=> Space fleet 0 <~> Amphisbaena $ENV{HOME}

See also BooK proposes a new Perl secret operator.


Comment on Re: Hidden features of Perl
Select or Download Code
Re^2: Hidden features of Perl
by ambrus (Abbot) on Jun 23, 2009 at 17:06 UTC
Re^2: Hidden features of Perl
by cdarke (Prior) on Jun 29, 2009 at 11:06 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.

Re^2: Hidden features of Perl
by ccn (Vicar) on Aug 10, 2009 at 19:14 UTC
    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);

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://773791]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2014-07-31 08:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (247 votes), past polls