Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: return +0

by diotalevi (Canon)
on Nov 27, 2007 at 08:06 UTC ( #653169=note: print w/replies, xml ) Need Help??


in reply to return +0

Unary + does nothing. It says so right in the documentation.

⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

Replies are listed 'Best First'.
Re^2: return +0
by arunvelusamy (Monk) on Nov 27, 2007 at 08:15 UTC
    Provided, i found below code in Apache-Compress-1.005/Compress.pm

    I belive '+' has some importance.

    if (!defined($how_decide) || lc($how_decide) eq 'header') { return +($r->header_in('Accept-Encoding')||'') =~ /gzip/; } elsif (lc($how_decide) eq 'user-agent') {

    updated: Removed the duplicate "found" word in my comment.

      In that example the + tells perl that the parens are not enclosing the arguments to a function call, so it is parsed correctly.

        Here's a nice simple example of when you might need to use it:

        $ perl -e 'print (2+3)/5' 5

        How on earth does that print 5? Because it evaluates as "print the result of 2 + 3, then divide print's return value (which is 1 if print worked) by 5, and then do nothing with the result". This is obvious if you stick another print in there:

        $ perl -e 'print print (2+3)/5' 50.2

        which is parsed as:

        print((print(2+3))/5)

      I belive '+' has some importance.

      For me, return values of +0, -0, and 0 are indistinguishable from each other - which means that the '+' has no significance at all:
      C:\_32>perl -MDevel::Peek -e "Dump(+0)" SV = IV(0x1fe2d28) at 0x343cbc REFCNT = 1 FLAGS = (PADBUSY,PADTMP,IOK,READONLY,pIOK) IV = 0 C:\_32>perl -MDevel::Peek -e "Dump(-0)" SV = IV(0x432d2c) at 0xd73cec REFCNT = 1 FLAGS = (PADBUSY,PADTMP,IOK,READONLY,pIOK) IV = 0 C:\_32>perl -MDevel::Peek -e "Dump(0)" SV = IV(0x2492d28) at 0x23cbc REFCNT = 1 FLAGS = (PADBUSY,PADTMP,IOK,READONLY,pIOK) IV = 0
      (Replace the double quotes with single quotes if you're on a *nix-type operating system.)

      Cheers,
      Rob

        Just note that -.0 is distinct from .0.

        ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2020-10-27 18:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (257 votes). Check out past polls.

    Notices?