Hi lunette,

pryrt gave you the solution, but there is one point to be noted and that you need to understand.

In general, when you write a subroutine, it is usually best if the subroutine can work only on parameters passed to it, and not on global variables.

In your code, you pass the data to the subroutine as an argument:

$average = average(@array);
but you don't use the parameter within the average subroutine, but use the global array variable. In other words, you made half of the work needed, but not the whole thing. Here you might want to do something like this:
sub average { my @local_array = @_; if (@local_array) { # ... }
There are some exceptions, sometimes (rarely), there is a good reason to work directly on a global array or hash within a subroutine (for example for performance reasons if the array or hash is really very large), but, generally speaking, it is most of the time better for subroutines to work on copies of arguments passed to them.

In reply to Re: resetting a foreach loop! by Laurent_R
in thread resetting a foreach loop! by lunette

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.