<div class="gmail_quote">No właśnie nie bardzo, bo to nie to samo.</div><div class="gmail_quote"><br></div><div class="gmail_quote">W przypadku Package::Alias, czy też konstrukcji *Alias = \*Oryginal wywołując metodę dostaniesz jako pierwszy parametr nie Oryginal ale niestety Alias:</div>
<div class="gmail_quote"><br></div><div class="gmail_quote"><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><div class="gmail_quote">$ perl -ale &#39;sub oryginal::m { print @_ }; *alias:: = \*oryginal::; oryginal-&gt;m(); alias-&gt;m() &#39;</div>
<div class="gmail_quote">oryginal</div><div class="gmail_quote">alias</div><div><br></div><div>To czym to się różni od zwykłego dziedziczenia?</div><div><br><div><div>$ perl -ale &#39;sub oryginal::m { print @_ }; @alias::ISA=qw(oryginal); oryginal-&gt;m(); alias-&gt;m() &#39;</div>
<div>oryginal</div><div>alias</div></div></div><div><br></div><div>Dla odmiany tak powinien działać prawdziwy mechanizm namespace:</div><div><br></div><div><div><div>$ perl -al &lt;&lt; &#39;END&#39;</div><div>&gt; use B::Generate;</div>
<div>&gt; use B::OPCheck entersub =&gt; check =&gt; sub {</div><div>&gt;     my ($unop) = @_;</div><div>&gt;     if ($unop-&gt;first-&gt;sibling-&gt;sv-&gt;PV eq &quot;alias&quot;) {</div><div>&gt;         my $sv = B::svref_2object(\(&quot;oryginal&quot;));</div>
<div>&gt;         $unop-&gt;first-&gt;sibling-&gt;sv($sv-&gt;sv);</div><div>&gt;     };</div><div>&gt; };</div><div>&gt; </div><div>&gt; sub oryginal::m { print @_ };</div><div>&gt; </div><div>&gt; oryginal-&gt;m();</div>
<div>&gt; alias-&gt;m();</div><div>&gt; END</div><div>oryginal</div><div>oryginal</div></div></div><div><br></div><div><span class="Apple-style-span" style="border-collapse: separate; font-family: arial; ">No i właśnie coś takiego chciałbym mieć :)</span></div>
<div><span class="Apple-style-span" style="border-collapse: separate; font-family: arial; "><br></span></div></span></font></div><div class="gmail_quote">W dniu 19 lipca 2010 10:40 użytkownik piotr pogorzelski <span dir="ltr">&lt;<a href="mailto:pp@webtel.pl">pp@webtel.pl</a>&gt;</span> napisał:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">-------- Original Message  --------<br>
Subject: Re: [Warszawa-pm] Czego nie lubimy w Perlu?<br>
From: Piotr Roszatycki &lt;<a href="mailto:piotr.roszatycki@gmail.com" target="_blank">piotr.roszatycki@gmail.com</a>&gt;<br>
To: <a href="mailto:warszawa-pm@pm.org" target="_blank">warszawa-pm@pm.org</a><br></div><div class="im">
Date: Sun Jul 18 2010 12:35:55 GMT+0200 (CET)<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hmm przypomniało mi się, czego jeszcze bardzo nie lubię w perlu. To brak<br>
sensownej obsługi namespace, przez co trzeba pisać za każdym razem<br>
Bardzo::Dlugie::Sciezki::Do::Wlasnych::Modulow. A wystarczyłoby coś w stylu:<br>
<br>
namespace Bardzo::Dluga::Sciezka;<br>
Modul-&gt;new;<br>
<br>
</blockquote></div>
(...)<div class="im"><br></div>
use Package::Alias BDS =&gt; &#39;Bardzo::Dluga::Sciezka&#39;;<br>
<br></blockquote></div><br>-- <br> .&#39;&#39;`.    Piotr Roszatycki<br>: :&#39; :    mailto:<a href="mailto:Piotr.Roszatycki@gmail.com">Piotr.Roszatycki@gmail.com</a><br>`. `&#39;     mailto:<a href="mailto:dexter@debian.org">dexter@debian.org</a><br>
  `-<br>