Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Excellent teaser. It parses because it is legal perl syntax of course! In this context it means print a reference to a reference to the return value of m// divided by a reference to a reference to a reference to the return value of m//. Wow that's a mouthful. In code form:

print //; # prints 1, scalar return val of match null in $_ (alw +ays true) print \//; # SCALAR(0x....) print \\//; # ditto print \\\//; # ditto print \\\\//; # ditto etc... # thus what you are saying is divide the scalar value # of one memory reference by another print \\// / \\\// ref div ref

It does not evaluate to 0 however as you imply. I get 0.999998046573592 on Win32 as we are dividing two closely allied memory addresses by each other. The first one evaled logically gets the smaller memory address (stack theory) so the result should always be a number just less than 1 - the bigger the memory you have (and the closer to out of memory you are) the closer to one it will be. You can demonstrate my theory with this snippet

$a = \1; # first ref in lower mem $b = \1; # second ref in slightly higher mem print $b/$a; # prints 1.00000684833673


In reply to Re: Brain Teaser by tachyon
in thread Brain Teaser by srawls

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [LanX]: suitable what? ... insult?
    [Discipulus]: goodby stress..
    LanX you always reminded me of Sean Connery. ..
    shmem .oO( someday I'll do something... and then I'll make it big. Now is the time! )
    [LanX]: don't forget to flush the water
    [shmem]: the day will come when LanX hits the fan

    How do I use this? | Other CB clients
    Other Users?
    Others about the Monastery: (11)
    As of 2018-04-24 11:26 GMT
    Find Nodes?
      Voting Booth?