- 1
- 2
- 3
if (ref($val) eq 'ARRAY') {
# ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−156
if (ref($val) eq 'ARRAY') {
# ...
}
то очень часто одна функция на перле принимать может параметры записанные в разных формах,
Например
sub some_func{
if(ref $_[0] eq 'HASH') {
#параметр передан в виде ссылки на хеш , то есть что то типа структуры или класса если так понятнее
}
else {
# Данные идут обычным списком
}
};
А где то в коде вызовы
some_func( {'name'=>'Vasya','age'=>15} );
some_func('Petya',22);
Одно из применений ref, так же через ref можно узнать название класса объекта.
То что автор посчитал это говнокодом, просто свидетельствует о том что автор поверхностно знаком с перлом
http://perldoc.perl.org/functions/ref.html