<?xml version="1.0" encoding="windows-1252"?>
<node id="79981" title="&quot;Junkyard&quot; Puzzle: Average of Numbers" created="2001-05-13 01:00:44" updated="2005-08-13 03:23:28">
<type id="120">
perlmeditation</type>
<author id="53423">
Masem</author>
<data>
<field name="doctext">
In light of [id://79027|Junkward Wars, Perl Style], I offer the following puzzle which limits what you have to work with.
&lt;P&gt;
In this case, your task is to write a subroutine that
takes in a reference to a list of numbers and returns the average of those numbers, with the limitations that:
&lt;UL&gt;
&lt;LI&gt;You cannot modify the array elements themselves, or if you do, the array must be restored to it's original state before the subroutine is over.
&lt;LI&gt;You may not declare or use any other variables outside of what perl 'provides' to you.  For example, you have to use @_ at some point to get the array, but perl provides this due to the nature of subroutines.  You may also use variables like $_ when inside a map/grep/for block, or the use of $1, $2, etc in regex statements when these have been created for you.  However, you may not use $_ or any other of the reserved perl variables outside of these types of blocks.
&lt;LI&gt;You cannot use an external module, nor a system command; the calculation should be done entire by perl itself and not call on any other programs.
&lt;/UL&gt;
&lt;HR&gt;
&lt;I&gt;
Dr. Michael K. Neylon - &lt;a href="mailto:mneylon-pm@masemware.com"&gt;mneylon-pm@masemware.com&lt;/a&gt;
||
"You've left the lens cap of your mind on again, Pinky" - The Brain
&lt;/I&gt;</field>
</data>
</node>
