knexus,
The code that perrin and I provided does exactly what you want. First pass a reference to the scalar to the sub instead of the scalar itself.
modify_large_scalar(\$large_scalar);
Notice the \ in front of the $large_scalar. This makes an explicit reference to the variable. Then inside the sub, shift off the reference into a properly named variable.
sub modify_large_scalar { my $large_scalar_ref = shift; # Code to modify $$large_scalar_ref }
I have been following this thread and you said that it was taking up to 13 hours to run. Chances are there are other ways to improve the efficiency of the code. You might want to post all of your code (inside readmore tags if it is long) to see if we can't come up with some more efficient ways of accomplishing the same thing. Additionally, you should look into modules like Benchmark and Devel::Profile to see if the problem is where you think it is.

Cheers - L~R


In reply to Re: Re: Re: Re: Re: Memory Use and/or efficiency passing scalars to subs by Limbic~Region
in thread Memory Use and/or efficiency passing scalars to subs by knexus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.