<div dir="ltr">Да, спасибо! <div>Правильно заметили "sub  \&subroutine_name"   --- бредовая опечатка. </div><div><br></div><div><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">--> Какая разница use overload '""' => ‘to_string’ или use overload '""' => \&to_string ?</span><br>
</div><div><span style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></span></div><div>use overload '""' => \&subroutine_name --  будет вызыать функция из текущей области видимости по ссылке.</div>

<div>use overload '""' => 'subroutine_name' -- будет какждый раз вызывать функцию по имени, что и решает троблему топика (как и вызов функцию по имени на $self).<br></div><div><br></div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">28 мая 2014 г., 16:18 пользователь Роман Юсуфханов <span dir="ltr"><<a href="mailto:r.yusufkhanov@gmail.com" target="_blank">r.yusufkhanov@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Какая разница use overload '""' => ‘to_string’ или use overload '""' => \&to_string ?<div>
В любом случае была ошибка в примере </div><div>use overload '""' => sub \&to_string; # Illegal declaration of anonymous subroutine</div><div>Автор?<br><div><div>28 мая 2014 г., в 15:42, Ilya Chesnokov <<a href="mailto:chesnokov.ilya@gmail.com" target="_blank">chesnokov.ilya@gmail.com</a>> написал(а):</div>
<div><div class="h5"><br><blockquote type="cite"><div style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
28 мая 2014 г., 15:38 пользователь Андрей Фёдоров<br><<a href="mailto:secrethost@gmail.com" target="_blank">secrethost@gmail.com</a>> написал:<br><blockquote type="cite">Передать строку<br><br>use overload '""' => 'to_string';<br>
</blockquote><br>Точно... И вообще, perldoc overload ;)<br><br><blockquote type="cite"><br>28 мая 2014 г., 15:37 пользователь Ilya Chesnokov <<a href="mailto:chesnokov.ilya@gmail.com" target="_blank">chesnokov.ilya@gmail.com</a>><br>
написал:<br><br><blockquote type="cite">28 мая 2014 г., 15:32 пользователь Харпалёв Иван<br><<a href="mailto:ivan.kharpalev@gmail.com" target="_blank">ivan.kharpalev@gmail.com</a>> написал:<br><blockquote type="cite">
package  Parent;<br>use overload '""' => sub \&to_string;<br>sub to_string {...}<br><br>package Heir;<br>use base 'Parent';<br>sub to_string;<br><br>package main;<br>print Heir->new();   #будет вызвана Parent::to_string, а не<br>
Heir::to_string<br><br><br>Что же делать?? (чтобы в родителе определять overload, а подменяя методы<br>в<br>наследнике изменять поведение перегруженных операторов).<br></blockquote><br>Ну ты как бы явно даешь ссылку на функцию to_string() родительского<br>
пакета.<br>Что, если сделать так:<br><br>use overload "" => sub { $_[0]->to_string() };<br><br><blockquote type="cite"><br><br><br>С уважением<br>Иван Харпалев<br><br><br>--<br>Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote><br><br><br>--<br>Best regards,<br>Ilya Chesnokov<br>--<br>Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</blockquote><br><br><br>--<br>Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br><br></blockquote>
<br><br><br>--<span> </span><br>Best regards,<br>Ilya Chesnokov<br>--<span> </span><br>Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a><span> </span>|<span> </span><a href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a></div>
</blockquote></div></div></div><br></div></div><br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br></div>