<div dir="ltr">Hi Madision,<br><br>I&#39;m not sure I get what you&#39;re doing<br><br>The foreach doesn&#39;t return a list for each iteration (which is what you&#39;re doing by trying to assign to (my $variable, my $value).&nbsp; It returns one scalar for each iteration of the loop.&nbsp; The foreach just iterates over an array.&nbsp; If you do a regex in a foreach with /g it returns what&#39;s captured as a list but you only get key OR value for each iteration.<br>
<br>Why would you not just do this?<br><br>(Apologies for the formatting)<br><br><span style="font-family: courier new,monospace;">my $results_page = qq/</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &lt;input name=&quot;varname&quot; type=&quot;hidden&quot; value=&quot;varval&quot;&gt;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &lt;input name=&quot;varname2&quot; type=&quot;hidden&quot; value=&quot;varval2&quot;&gt;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">my %results = ();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">while ( <br>&nbsp;&nbsp;&nbsp; $results_page =~ <br>&nbsp;&nbsp;&nbsp; /&lt;input name=&quot;(.*?)&quot; type=&quot;hidden&quot; value=&quot;(.*?)&quot;&gt;/gs<br>
) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; my ($var,$val) = ($1, $2);</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; print &quot;Storing: [$var]\t-&gt;\t[$val]\n&quot;;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; $results{$var}=$val;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">}</span><br style="font-family: courier new,monospace;">
<br>I don&#39;t see how the saved line is of any benefit in this instance.<br><br>Further to this, regexes to parse html isn&#39;t ideal.&nbsp; There&#39;s any number of changes in the HTML that could break this (ordering of the attributes, case of the tags/attributes, using single instead of double quotes to delimit the values, etc...)<br>
<br>D<br><br><br><div class="gmail_quote">On Fri, Aug 1, 2008 at 12:17 PM, Madison Kelly <span dir="ltr">&lt;<a href="mailto:linux@alteeve.com">linux@alteeve.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Fulko Hew wrote:<div><div></div><div class="Wj3C7c"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
On Fri, Aug 1, 2008 at 10:50 AM, Madison Kelly &lt;<a href="mailto:linux@alteeve.com" target="_blank">linux@alteeve.com</a> &lt;mailto:<a href="mailto:linux@alteeve.com" target="_blank">linux@alteeve.com</a>&gt;&gt; wrote:<br>

<br>
 &nbsp; &nbsp; As an expansion to my earlier question on assigning values to new<br>
 &nbsp; &nbsp;variables directly from a regular expression; I want to now use a<br>
 &nbsp; &nbsp;similar technique to populate a &#39;foreach&#39; loop.<br>
<br>
<br>
<br>
... snip ...<br>
&nbsp;<br>
 &nbsp; &nbsp;However, this doesn&#39;t:<br>
<br>
 &nbsp; &nbsp;my $results_page=$agent-&gt;content;<br>
 &nbsp; &nbsp;my %results=();<br>
 &nbsp; &nbsp;foreach (my $variable, my $value) ($results_page=~/&lt;input<br>
 &nbsp; &nbsp;name=&quot;(.*?)&quot; type=&quot;hidden&quot; value=&quot;(.*?)&quot;&gt;/gs)<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^^<br>
<br>
How about... you forgot the equal sign for the assignment!<br>
</blockquote>
<br></div></div>
Doesn&#39;t look like this is the case (tried it to be sure), or if it is, I am note sure where the &#39;=&#39; would go for the assignment. As I understand the &#39;for&#39;/&#39;foreach&#39; syntax is that is automatically pops a value off the array per iteration.<br>

<br>
Not that I am not often wrong. :)<div><div></div><div class="Wj3C7c"><br>
<br>
Madi<br>
_______________________________________________<br>
toronto-pm mailing list<br>
<a href="mailto:toronto-pm@pm.org" target="_blank">toronto-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><a href="mailto:dave.s.doyle@gmail.com">dave.s.doyle@gmail.com</a><br>
</div>