<div dir="ltr"><div><div><div><div>Дико не понятно, что собственно хочется:<br><br></div>Я иногда делаю так:<br></div>1) magic( $var = 1)<br></div>2) tie $var, tied($some_other_var)->clone()<br></div>3) А зачем нам вообще магию копировать? <br></div><div class="gmail_extra"><br><div class="gmail_quote">20 июня 2016 г., 15:52 пользователь Vansevich Evgeniy <span dir="ltr"><<a href="mailto:evgeniy@just4i.ru" target="_blank">evgeniy@just4i.ru</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Коль, а ты можешь рассказать про оригинальную постановку задачи? просто задача звучит так, что перехват опов будет проще чем любой другой путь)<br>
</div><div dir="ltr"><br>
</div><div dir="ltr"><br>
</div><div dir="ltr"><br>
</div><div>Отправлено с Mi Phone</div><div>"<a href="mailto:Warstone@list.ru" target="_blank">Warstone@list.ru</a>" <<a href="mailto:warstone@list.ru" target="_blank">warstone@list.ru</a>> | От: 20 июня 2016 г. 15:04 | Сообщение:<br type="attribution"><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p></p>
<div>Может кто уже реализовывал...<br><br>Итак... Есть магия. PERL_MAGIC_ext У нее перебит svt_get. В текущей реализации задается магия через<br>$var = 1;<br>magic($var);<br><br>Это неудобно. Хочется так: $var = magic(); Но так не работает, так как svt_get должна сделать sv_setsv на магическую переменную. И потом в sassign ее скопируют без магии. Вернее не так... Если туда передать другую магическую переменную, то на ней опять-таки позовется svt_get и будет бесконечный цикл.<br><br>Можно, конечно, перехватить sassign, anonhash, anonarray но кто знает - какие еще опы надо перехватывать и это уже совсем из области черной магии.<br><br>Может быть кто-то сталкивался с похожей задачей копирования магии?..<br><br><span class="HOEnZb"><font color="#888888"><br>-- <br>Nick unnoun</font></span></div>
</blockquote></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" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br></div>