Автор Тема: Проверка - является ли переменная ссылкой на массив  (Прочитано 3327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
У меня в процедуру, передается переменная, но она божет быть как обычной переменной, так и ссылкой на массив, в зависимости от этого с ней будут проводится соответствующие действия, но как определить авляется ли переменная ссылкой или же нет?
Ничего кроме как:

if ($scalar =~m /^ARRAY\\(\\w*\\)$/) {...

я не придумал.

При условии:

if (@{$scalar}) {...

возвращается ошибка.

Существует ли другая возможность проверки переменной?

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
perldoc -f ref
2B OR NOT 2B = FF

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
#!/usr/bin/perl -w
use strict;
my $var;
#$var->
  • {\'go\'}="GO!";

if (ref($var) eq "ARRAY")
{
print "GOOD!";
}
else
{
print "NOT GOOD!";
}
And no religion too...

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Chs
commander

Спасибо... в принципе, я ман прочитал, там все понятно...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28