<div dir="ltr"><div><div>Hi Shmuel and Thanks,<br><br></div>It&#39;s an existing code. I suspect $main:: is some kind of alias to *{&quot;main::&quot;}. <br>I also found the same trick does not work for other namespaces.<br>
<br></div><div>So now I&#39;m just trying to understand what is $main:: and where did it come from ...<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 14 August 2013 08:55, Shmuel Fomberg <span dir="ltr">&lt;<a href="mailto:shmuelfomberg@gmail.com" target="_blank">shmuelfomberg@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hi Ynon.</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div><div><div><div></div>I recently tried some symbol table manipulations and encountered the following:<br><br></div>This code works:<br>$main::{foo} = sub { warn &#39;M::Foo&#39; };<br>foo();<br>
<br></div>But this one doesn&#39;t:<br>BEGIN {<br>  $main::{foo} = sub { warn &#39;M::Foo&#39; };<br>}<br>foo();<br></div></div></blockquote><div><br></div></div><div>Weird indeed. but why do you use &#39;$&#39; before main? I don&#39;t understand why the first example works at all. </div>

<div>As I read it, you are assigning a code ref to the scalar $main::foo. why calling to foo() afterwards works?</div><div><br></div><div>If I&#39;d write this code, it will be:</div><div><br></div><div><div>BEGIN {</div>

<div>  no strict &#39;refs&#39;;</div><div>  *{&quot;main::foo&quot;} = sub { warn &#39;M::Foo&#39; };</div><div>}</div><div>foo();</div></div><div><br></div><div>(and it works)</div><span class="HOEnZb"><font color="#888888"><div>
<br></div><div>Shmuel.</div><div>
 </div></font></span></div></div></div>
<br>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br></blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr"><div dir="rtl"><br>כותב הרצאות ? מדבר מול קהל ? הבלוג שלי <a href="http://publicspeakr.blogspot.com/" target="_blank">לומד לדבר</a> כתוב במיוחד בשבילך.<br>
</div></div>
</div>