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

Re: Global variable unexpectedly modified when passed by reference

by Ratazong (Monsignor)
on Dec 08, 2014 at 14:30 UTC ( [id://1109578]=note: print w/replies, xml ) Need Help??


in reply to Global variable unexpectedly modified when passed by reference

Hi

It seems you are mixing call by reference and call by value. You might want to check the descriptions of both, e.g. here in wikipedia (subchapters 1.2 and 1.3)

HTH, Rata

Replies are listed 'Best First'.
Re^2: Global variable unexpectedly modified when passed by reference (terminology)
by LanX (Saint) on Dec 08, 2014 at 16:52 UTC
    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://1109578]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-03-29 00:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found