The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Нюансы: 'компилятор' perl"
Отправлено zs, 13-Янв-10 22:12 
#! /usr/bin/perl -w
# Переменные объявленные как my (например my $var)-
# не включаются в таблицу имен (*var)
# и не имеют адреса по которому к ним можно обратиться (может если угадать.. ?)
# Если передать их адресс какой-либо переменной $tmp,
# то переменная $var автоматически поменяет свой адрес (типа компилятором..  ?)
# (p.s. нельзя локализовать local $var после объявления my $var)

#ВОПРОС - если perl интерпретируемый язык - то откуда этот "компилятор"?

use strict;
our $tmp;

sub b{
my $var1 = "hello";
my $var2;

print "var1 =",\$var1," name_var1 = $var1\t";
print "var2 =",\$var2,"\t";

$tmp = \$var1;
print "\\\$tmp = ",\$tmp,"name \$\$tmp = $$tmp\n";
$$tmp = "bie"; #пытаемся изменить значение переменной var1 на "bie", но это бесполезно, т.к. var1 имеет уже другой адрес, после того как переменной $tmp передали указатель на начальный адрес переменной var1
return;
}

b;
b;
b;


--------------------
РЕЗУЛЬТАТ:

var1 =SCALAR(0x9652b80) name_var1 = hello    
var2 =SCALAR(0x9653380)    
\$tmp = REF(0x9652b40)name $$tmp = hello

var1 =SCALAR(0x9634880) name_var1 = hello    
var2 =SCALAR(0x9653380)    
\$tmp = REF(0x9652b40)name $$tmp = hello

var1 =SCALAR(0x96349d0) name_var1 = hello    
var2 =SCALAR(0x9653380)    
\$tmp = REF(0x9652b40)name $$tmp = hello

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру