Aside from doing the calculations - I would go with an approach something like this. Im in a meeting so I didn&#39;t have time to work the calculations in...<br><br>Ted<br><br>___ Code Below ___<br><br>#!/usr/bin/perl<br>use strict;
<br>use warnings;<br><br>sub make_if_elsif {<br>#&nbsp; This is the code we are trying to emulate with our enclosure<br>my $capt = shift;<br><br>#personally I would use something like this, but thats neither here nor there :)<br>
#return qq<br>#|( $capt &lt; 100 )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? &#39;3.0&#39; :<br>#( ($capt &gt;= 100) and ($capt &lt; 250) )&nbsp;&nbsp;&nbsp;&nbsp; ? &#39;1.5&#39; :<br>#( ($capt &gt;= 10000) and ($capt &lt; 50000) ) ? &#39;0.01&#39; :<br>#&#39;
0.00&#39;|;<br><br>return qq|<br>&nbsp; if ($capt eq &quot;&quot;) {return (0.0);}<br>&nbsp; elsif ($capt &lt; 100)<br>&nbsp;&nbsp;&nbsp; {return (3.0);}<br>&nbsp; elsif (($capt &gt;= 100) &amp;&amp; ($capt &lt; 250))<br>&nbsp;&nbsp;&nbsp; {return (1.5);}<br>&nbsp; elsif (($capt &gt;= 250) &amp;&amp; ($capt &lt; 500))
<br>&nbsp;&nbsp;&nbsp; {return (1.0);}<br>&nbsp; elsif (($capt &gt;= 500) &amp;&amp; ($capt &lt; 750))<br>&nbsp;&nbsp;&nbsp; {return (0.75);}<br>&nbsp; elsif (($capt &gt;= 750) &amp;&amp; ($capt &lt; 1000))<br>&nbsp;&nbsp;&nbsp; {return (0.5);}<br>&nbsp; elsif (($capt &gt;= 1000) &amp;&amp; ($capt &lt; 2500))
<br>&nbsp;&nbsp;&nbsp; {return (0.25);}<br>&nbsp; elsif (($capt &gt;= 2500) &amp;&amp; ($capt &lt; 5000))<br>&nbsp;&nbsp;&nbsp; {return (0.15);}<br>&nbsp; elsif (($capt &gt;= 5000) &amp;&amp; ($capt &lt; 7500))<br>&nbsp;&nbsp;&nbsp; {return (0.05);}<br>&nbsp; elsif (($capt &gt;= 7500) &amp;&amp; ($capt &lt; 10000))
<br>&nbsp;&nbsp;&nbsp; {return (0.025);}<br>&nbsp; elsif (($capt &gt;= 10000) &amp;&amp; ($capt &lt; 50000))<br>&nbsp;&nbsp;&nbsp; {return (0.01);}<br>&nbsp; elsif ($capt &gt;= 50000)<br>&nbsp;&nbsp;&nbsp; {return (0.005);}\n|;<br><br>}<br><br><br>my %costCalcH = ( &quot;50000&quot; =&gt; 
0.005,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;10000&quot; =&gt; 0.01,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;7500 &quot; =&gt; 0.025,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;5000 &quot; =&gt; 0.05,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;2500 &quot; =&gt; 0.15,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;1000 &quot; =&gt; 
0.25,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;750&nbsp; &quot; =&gt; 0.5,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;500&nbsp; &quot; =&gt; 0.75,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;250&nbsp; &quot; =&gt; 1.0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;100&nbsp; &quot; =&gt; 1.5,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;0&nbsp;&nbsp;&nbsp; &quot; =&gt; 
3.0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br><br><br># if you print out $stmt, you get the if-elsif statment above.<br><br><br>my $x = make_if_elsif(300);<br>print $x ;<br><br>$x = make_if_elsif(5000);<br>print $x ;<br><br><br><br><br>