[Comm] Задачка на перл

Avramenko Andrew =?iso-8859-1?q?liksx_=CE=C1_mail=2Eru?=
Пт Май 25 19:51:29 MSD 2007


Доброго всем времени суток!

Есть два варианта одной и той же конструкции:
my $login = $ENV{"HTTP_AUTH_USER"};
my $login = "$ENV{\"HTTP_AUTH_USER\"}";

Второй вариант работает всегда правильно. А вот первый работает странно:

Передаем в качестве HTTP_AUTH_USER a8 на a.com, в результате:
print $ENV{"HTTP_AUTH_USER"); выдает a8 на a.com
print $login; выдает a2 на a.com

Передаем в качестве HTTP_AUTH_USER a9 на a.com, в результате:
print $ENV{"HTTP_AUTH_USER"); выдает a9 на a.com
print $login; выдает a3 на a.com, иногда a3 на a.com

Передаем в качестве HTTP_AUTH_USER a8 на a.com, в результате:
print $ENV{"HTTP_AUTH_USER"); выдает a8 на a.com
print $login; выдает a3 на a.com, иногда a4 на a.com

Передаем в качестве HTTP_AUTH_USER a8 на a.com, в результате:
print $ENV{"HTTP_AUTH_USER"); выдает a8 на a.com
print $login; выдает a3 на a.com, иногда a4 на a.com

И т.д.

Никакой логики вообще не могу найти между всеми этими значениями. 
Хотелось бы узнать чем второе присваивание правильнее чем первое?


Заранее спасибо!


--
С уважением,
Андрей



Подробная информация о списке рассылки community