<div dir="ltr"><div><font face="arial, sans-serif">Передать строку</font></div><div><font face="arial, sans-serif"><br></font></div><span style="font-family:arial,sans-serif;font-size:13px">use overload '""' => 'to_string';</span><br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">28 мая 2014 г., 15:37 пользователь Ilya Chesnokov <span dir="ltr"><<a href="mailto:chesnokov.ilya@gmail.com" target="_blank">chesnokov.ilya@gmail.com</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">28 мая 2014 г., 15:32 пользователь Харпалёв Иван<br>
<<a href="mailto:ivan.kharpalev@gmail.com">ivan.kharpalev@gmail.com</a>> написал:<br>
<div><div class="h5">> 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, а не  Heir::to_string<br>
><br>
><br>
> Что же делать?? (чтобы в родителе определять overload, а подменяя методы в<br>
> наследнике изменять поведение перегруженных операторов).<br>
<br>
</div></div>Ну ты как бы явно даешь ссылку на функцию to_string() родительского пакета.<br>
Что, если сделать так:<br>
<br>
use overload "" => sub { $_[0]->to_string() };<br>
<br>
><br>
><br>
><br>
> С уважением<br>
> Иван Харпалев<br>
><br>
><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>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Best regards,<br>
Ilya Chesnokov<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>
</font></span></blockquote></div><br></div>