Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: Is it possible to store an arthimetric operator in a variable?

by ikegami (Patriarch)
on Jul 19, 2005 at 14:46 UTC ( [id://476133]=note: print w/replies, xml ) Need Help??


in reply to Re: Is it possible to store an arthimetric operator in a variable?
in thread Is it possible to store an arthimetric operator in a variable?

You shouldn't use prototypes unless necessary, because of their side-effects. In this case, the prototype isn't even being checked because you're using a reference to the function.

sub test($) { print("Boo!\n"); } my $f = \&test; $f->(); # No error. Prints "Boo!". $f->(1, 2, 3); # No error. Prints "Boo!".

And why bother with ?1:0 and ?0:1 since == already returns a boolean value.

Replies are listed 'Best First'.
Re^3: Is it possible to store an arthimetric operator in a variable?
by Adam (Vicar) on Jul 19, 2005 at 15:18 UTC
    You are correct that the code isn't using the prototypes or requires the 1:0. I used them both, however, to be very clear to our anonymous reader what it was the code was doing. Also, I used 1:0 because I don't like using undef as a boolean false; it's not relevant here, but I find that 0 as false makes debugging easier which has led to this habit.
      Boolean false isn't undef. Notice the lack of warnings in the following snippet:
      >perl -we "print(1==2)" >
        Sorry, you are right. It's "", which is just as useless in debugging... (it's been so long that I wrote a boolean function where I didn't use 0 that I forgot. Thank you.)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2024-04-26 03:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found