Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^2: Global variable unexpectedly modified when passed by reference (terminology)

by LanX (Saint)
on Dec 08, 2014 at 16:52 UTC ( [id://1109607]=note: print w/replies, xml ) Need Help??


in reply to Re: Global variable unexpectedly modified when passed by reference
in thread Global variable unexpectedly modified when passed by reference

Sorry I already wanted to nitpick when GotToBTru mentioned this terminology. :)

Technically all calls in Perl are call-by-reference , cause @_ holds so called aliases (implicitly)

But copying from @_ makes most Perl routines de facto act like call-by-value .

So what the OP does is a simulated call by value where the value is an explicit reference.

I feel the need to clarify this cause the terminology is older than Perl and meant to describe languages without explicit ref type. ;)

These concepts are meant to describe differences between languages not Perl features.

For instance JS has a mix of both:

  • simple types ("scalars") are always passed by value
  • objects (including arrays and "hashes") always as references.
edit

Should be noted that JS doesn't have an explicit ref operator.

Concepts in "quotes" only translate roughly and would need deeper explanation.

Cheers Rolf

(addicted to the Perl Programming Language and ☆☆☆☆ :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2024-04-24 01:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found