Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Re: Re: Sub Params as references

by demerphq (Chancellor)
on Aug 14, 2002 at 11:14 UTC ( [id://190027]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Sub Params as references
in thread Sub Params as references

Your first comment - at least one of the strings can get rather large - hence the desire to avoid local copies and all the associated memory wastage.

Hmm, i could be completely wrong, (but i dont think so), but perl strings are never passed by value. Perl strings arent like base string types in most languages. They live inside of an SV, which contains a pointer to the block of memory holding the string along with a bunch of housekeeping information. And since only SV's are passed around on the stack your string isnt going to be copied. The usualy recommendations about passing hashes and lists by reference have to do with the way perl listifies these types when used as parameter arguments. Thus by passing a reference to the array you only pass one SV, but by passing a listified array you pass one SV for every element.

Also, again I could be wrong about this, but I think perl variables are always passed by reference (actually not reference in the normal sense but a special kind of reference called an alias). This means that by modifying the contents of @_ directly you actually end up modifying the original value. This suggest to me quite strongly that perl variables are always passed "by reference".

Yves / DeMerphq
---
Software Engineering is Programming when you can't. -- E. W. Dijkstra (RIP)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (4)
As of 2024-04-26 00:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found