<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Нюансы: &apos;компилятор&apos; perl</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html</link>
    <description>#! /usr/bin/perl -w&lt;br&gt;# Переменные объявленные как my (например my $var)- &lt;br&gt;# не включаются в таблицу имен (*var) &lt;br&gt;# и не имеют адреса по которому к ним можно обратиться (может если угадать.. ?)&lt;br&gt;# Если передать их адресс какой-либо переменной $tmp, &lt;br&gt;# то переменная $var автоматически поменяет свой адрес (типа компилятором..  ?)&lt;br&gt;# (p.s. нельзя локализовать local $var после объявления my $var)&lt;br&gt;&lt;br&gt;#ВОПРОС - если perl интерпретируемый язык - то откуда этот &quot;компилятор&quot;?&lt;br&gt;&lt;br&gt;use strict;&lt;br&gt;our $tmp; &lt;br&gt;&lt;br&gt;sub b&#123;&lt;br&gt;my $var1 = &quot;hello&quot;;&lt;br&gt;my $var2;&lt;br&gt;&lt;br&gt;print &quot;var1 =&quot;,&#092;$var1,&quot; name_var1 = $var1&#092;t&quot;;&lt;br&gt;print &quot;var2 =&quot;,&#092;$var2,&quot;&#092;t&quot;;&lt;br&gt;&lt;br&gt;$tmp = &#092;$var1;&lt;br&gt;print &quot;&#092;&#092;&#092;$tmp = &quot;,&#092;$tmp,&quot;name &#092;$&#092;$tmp = $$tmp&#092;n&quot;;&lt;br&gt;$$tmp = &quot;bie&quot;; #пытаемся изменить значение переменной var1 на &quot;bie&quot;, но это бесполезно, т.к. var1 имеет уже другой адрес, после того как переменной $tmp передали указатель на начальный адрес переменной var1&lt;br&gt;return;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;b;&lt;br&gt;b;&lt;br&gt;b;&lt;br&gt;&lt;br&gt;&lt;br&gt;--------------------&lt;br&gt;РЕЗУЛЬТАТ:&lt;br&gt;&lt;br&gt;var1 =SCALAR(0x9652b80) name_var1 = hello&lt;br&gt;var2 =SCALAR(0</description>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#11</link>
    <pubDate>Fri, 15 Jan 2010 14:44:49 GMT</pubDate>
    <description>как интересно тебе ))&lt;br&gt;сначало сгенерировать заведомо глюкавый код а потом бегать и удивлятся ))&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (zs)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#10</link>
    <pubDate>Fri, 15 Jan 2010 13:33:57 GMT</pubDate>
    <description>&amp;gt;это НЕ функции!!!! это не Си!!!! это язык уровнем выше!!! интерпритаторный!!!! &lt;br&gt;&amp;gt;он не является сильно-типизированным языком как Си - это интерпритатор &lt;br&gt;&amp;gt;и my и local тут ограницения на уровне исполнения &lt;br&gt;&lt;br&gt;будем считать - я понял.&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;ну какбы у перла много тонкостей при работе с переменными и вообще, &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;переменную типа &quot;my&quot; можно скажем сделать статичной (чтобы сохранялосья значение между &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;вызовами блока в котором она определена), так же у перла вроде &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;есть щняга типа &quot;сборшик мусора&quot; которая вычищает неиспользуемые переменные &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Можно... например из того что в перл не существует вложенных функций? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;чево? ты про inline функции на Си? &lt;br&gt;&lt;br&gt;я про то что переменная определенная во внешней функции как my во внутренней функции определяется только один раз вне зависимости от того сколько раз была вызвана внешняя функция.&lt;br&gt;ну типа того:&lt;br&gt;&lt;br&gt;our $i = 0;&lt;br&gt;&lt;br&gt;sub a($)&#123;&lt;br&gt; my $var = shift;&lt;br&gt; local $i = $var;&lt;br&gt; sub b&#123;&lt;br&gt;  print $var,&quot; - $i &#092;n&quot;;&lt;br&gt; &#125;&lt;br&gt; &amp;b;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;a(1);&lt;br&gt;a(2);&lt;br&gt;a(3);&lt;br&gt;&lt;br&gt;#=========</description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#9</link>
    <pubDate>Fri, 15 Jan 2010 11:35:13 GMT</pubDate>
    <description>&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;я конечно еще тот &quot;програмер&quot;, но по мойму называть my и local &lt;br&gt;&amp;gt;&amp;gt;функциями это какбы ... некрасиво &lt;br&gt;&amp;gt;&amp;gt;это опесатели области видимости переменных &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Надеюсь проясню - меня больше интересует не сам перл, а то как &lt;br&gt;&amp;gt;устроены на уровне си - его функции. (На этом уровне - &lt;br&gt;&amp;gt;my и local ничто иное как функции). &lt;br&gt;&lt;br&gt;это НЕ функции!!!! это не Си!!!! это язык уровнем выше!!! интерпритаторный!!!!&lt;br&gt;он не является сильно-типизированным языком как Си - это интерпритатор&lt;br&gt;и my и local тут ограницения на уровне исполнения&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;ну какбы у перла много тонкостей при работе с переменными и вообще, &lt;br&gt;&amp;gt;&amp;gt;переменную типа &quot;my&quot; можно скажем сделать статичной (чтобы сохранялосья значение между &lt;br&gt;&amp;gt;&amp;gt;вызовами блока в котором она определена), так же у перла вроде &lt;br&gt;&amp;gt;&amp;gt;есть щняга типа &quot;сборшик мусора&quot; которая вычищает неиспользуемые переменные &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Можно... например из того что в перл не существует вложенных функций? &lt;br&gt;&lt;br&gt;чево? ты про inline функции на Си?&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;эээ какбы сначала задачу формулируют а потом инструмент выбира</description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (zs)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#8</link>
    <pubDate>Fri, 15 Jan 2010 10:46:19 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;я конечно еще тот &quot;програмер&quot;, но по мойму называть my и local &lt;br&gt;&amp;gt;функциями это какбы ... некрасиво &lt;br&gt;&amp;gt;это опесатели области видимости переменных &lt;br&gt;&amp;gt;&lt;br&gt;&lt;br&gt;Надеюсь проясню - меня больше интересует не сам перл, а то как устроены на уровне си - его функции. (На этом уровне - my и local ничто иное как функции).&lt;br&gt;&lt;br&gt;&amp;gt;ну какбы у перла много тонкостей при работе с переменными и вообще, &lt;br&gt;&amp;gt;переменную типа &quot;my&quot; можно скажем сделать статичной (чтобы сохранялосья значение между &lt;br&gt;&amp;gt;вызовами блока в котором она определена), так же у перла вроде &lt;br&gt;&amp;gt;есть щняга типа &quot;сборшик мусора&quot; которая вычищает неиспользуемые переменные &lt;br&gt;&amp;gt;&lt;br&gt;&lt;br&gt;Можно... например из того что в перл не существует вложенных функций? &lt;br&gt;&lt;br&gt;&amp;gt;эээ какбы сначала задачу формулируют а потом инструмент выбирают ... &lt;br&gt;&amp;gt;а вы както через жопу ... )) вам ваще шашечки или ехать &lt;br&gt;&amp;gt;)) &lt;br&gt;&lt;br&gt;=)) - я ж сказал уже -- шашечки ). Говорю - что перл, только маленькое бесцельное увлечение.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#6</link>
    <pubDate>Fri, 15 Jan 2010 10:38:25 GMT</pubDate>
    <description>&amp;gt;Кстати, может кто подскажет где можно посмотреть реализацию perl&apos;овских функций (т.е. сырцы &lt;br&gt;&amp;gt;перловского интерпритатора конкретно для функций my и local (а также немного &lt;br&gt;&amp;gt;не в тему - bless)). Мне было не понятно следующее: &lt;br&gt;&lt;br&gt;я конечно еще тот &quot;програмер&quot;, но по мойму называть my и local функциями это какбы ... некрасиво&lt;br&gt;это опесатели области видимости переменных&lt;br&gt;&lt;br&gt;&amp;gt;1. обратите внимание, что переменные (my) меняют адреса при разных вызовах только &lt;br&gt;&amp;gt;в случае если я пытался получить ее адрес. &lt;br&gt;&lt;br&gt;ну какбы у перла много тонкостей при работе с переменными и вообще, переменную типа &quot;my&quot; можно скажем сделать статичной (чтобы сохранялосья значение между вызовами блока в котором она определена), так же у перла вроде есть щняга типа &quot;сборшик мусора&quot; которая вычищает неиспользуемые переменные&lt;br&gt;&lt;br&gt;&amp;gt;* По поводу того что язык не нов и изжит... в общем &lt;br&gt;&amp;gt;для того и знакомлюсь с ним чтобы убедиться либо наоборот. &lt;br&gt;&amp;gt;* Кстати Python - я так понял просто более читаем, но что &lt;br&gt;&amp;gt;касается CPAN - то перл лидирует. &lt;br&gt;&lt;br&gt;эээ </description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (zs)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#5</link>
    <pubDate>Fri, 15 Jan 2010 09:12:38 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Только непонятно, зачем всё это. Чего вы добиваетесь? Какого эффекта &lt;br&gt;&amp;gt;&amp;gt;ждёте? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Видимо, сокрушить нам мозг. Тоже раза три перечитал, так и не понял, &lt;br&gt;&amp;gt;к чему всё это... &lt;br&gt;&lt;br&gt;Прошу прощения что не уточнил цель - я хочу понять &quot;как устроено&quot; в данном случае выделение памяти. &lt;br&gt;&lt;br&gt;Кстати, может кто подскажет где можно посмотреть реализацию perl&apos;овских функций (т.е. сырцы перловского интерпритатора конкретно для функций my и local (а также немного не в тему - bless)). Мне было не понятно следующее:&lt;br&gt;&lt;br&gt;1. обратите внимание, что переменные (my) меняют адреса при разных вызовах только в случае если я пытался получить ее адрес.&lt;br&gt;&lt;br&gt;&lt;br&gt;* По поводу того что язык не нов и изжит... в общем для того и знакомлюсь с ним чтобы убедиться либо наоборот.&lt;br&gt;&lt;br&gt;* Кстати Python - я так понял просто более читаем, но что касается CPAN - то перл лидирует.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (jd)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#3</link>
    <pubDate>Thu, 14 Jan 2010 15:24:28 GMT</pubDate>
    <description>&amp;gt;Только непонятно, зачем всё это. Чего вы добиваетесь? Какого эффекта &lt;br&gt;&amp;gt;ждёте? &lt;br&gt;&lt;br&gt;Видимо, сокрушить нам мозг. Тоже раза три перечитал, так и не понял, к чему всё это...&lt;br&gt;</description>
</item>

<item>
    <title>Нюансы: &apos;компилятор&apos; perl (XAnder)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8588.html#2</link>
    <pubDate>Thu, 14 Jan 2010 05:54:21 GMT</pubDate>
    <description>Странные люди требуют непонятного :-)&lt;br&gt;&lt;br&gt;&amp;gt;# Переменные объявленные как my (например my $var)- &lt;br&gt;&amp;gt;# не включаются в таблицу имен (*var) &lt;br&gt;&amp;gt;# и не имеют адреса по которому к ним можно обратиться (может если угадать.. ?)&lt;br&gt;&lt;br&gt;Какие ещё таблицы? Будьте проще: это просто локальные переменные, которые живут только пока выполняется блок, где они объявлены.&lt;br&gt;&lt;br&gt;&amp;gt;# Если передать их адресс какой-либо переменной $tmp, &lt;br&gt;&amp;gt;# то переменная $var автоматически поменяет свой адрес (типа компилятором..  ?) &lt;br&gt;&lt;br&gt;Это не так. Переменная будет иметь один и тот же адрес, пока не завершится блок, где она объявлена. После этого переменная исчезает (на самом деле всё немного сложнее, но в первом приближении так). При следующем входе в этот блок создаётся новая переменная с тем же именем.&lt;br&gt;&lt;br&gt;Да, и бросьте вы эту чехарду с адресами - всё-таки на языке высокого уровня пишете.&lt;br&gt;&lt;br&gt;&amp;gt;# (p.s. нельзя локализовать local $var после объявления my $var) &lt;br&gt;&lt;br&gt;Ой, что-то вы не того хотите, чует моё сердце. Почитайте perlsub: local - это совсем не то, что ка</description>
</item>

</channel>
</rss>
