Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^3: Hints Towards Writing a Module with New Operators

by Anonymous Monk
on Dec 20, 2009 at 11:38 UTC ( #813611=note: print w/replies, xml ) Need Help??


in reply to Re^2: Hints Towards Writing a Module with New Operators
in thread Hints Towards Writing a Module with New Operators

"Overloading is something applied to objects, not operators

" There's a concept called "Operator Overloading" that allows you to provide your own versions of operators to perform operations on class objects such as addition and subtraction of these objects lest Perl would treat these objects as strings that describe the class, a "string" here represents implementation and memory address (aka, references). If an operator is not overloaded and you called say + or - to add or subtract two objects (e.g defined data types) Perl would add/subtract on something like "Date=HASH(0x80f11fc)" ergo the need for Operator overloading which is described as:

"When you overload one of Perl's built-in operators, you define how it behaves when it's applied to objects of a particular class", from Programming Perl.

However, it seems that with overloading, there's a mixed statement because others describe it as:

"The module overload.pm is a standard part of the Perl distribution. It allows your objects to define how they will react to a number of Perl's operators. " from Perl.com

"the only kind of ‘operators’ that can be defined in Perl are prefix, and their names must be alphanumeric"

You can define addition and subtraction operators, built-in functions, prefix and post fix operators and around 50 other functions out there...

I think the entire concept is full of hassles that can be circumvented otherways around, but this is a SWAG for I don't have such information...and this discussion is amazing and informative... keep it going....

  • Comment on Re^3: Hints Towards Writing a Module with New Operators

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2021-05-16 23:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Perl 7 will be out ...





    Results (152 votes). Check out past polls.

    Notices?