<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1251"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Какая разница 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">chesnokov.ilya@gmail.com</a>> написал(а):</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">28 мая 2014 г., 15:38 пользователь Андрей Фёдоров<br><<a href="mailto:secrethost@gmail.com">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">chesnokov.ilya@gmail.com</a>><br>написал:<br><br><blockquote type="cite">28 мая 2014 г., 15:32 пользователь Харпалёв Иван<br><<a href="mailto:ivan.kharpalev@gmail.com">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">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org">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">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org">http://moscow.pm.org</a><br></blockquote><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">http://moscow.pm.org</a><br><br></blockquote><br><br><br>--<span class="Apple-converted-space"> </span><br>Best regards,<br>Ilya Chesnokov<br>--<span class="Apple-converted-space"> </span><br>Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><a href="http://moscow.pm.org/">http://moscow.pm.org</a></div></blockquote></div><br></div></body></html>