Digger
написал 27 июля 2006 года в 16:53 (865 просмотров)
Ведет себя
как мужчина; открыл 39 тем в форуме, оставил 251 комментарий на сайте.
есть такая вот функция.. с ошибкой (цель найти ошибку)
sub a {
my $array=shift;
foreach my $a (@$array) {
#…
}
}
Вопрос что в ней не так?
И что делает цикл( в частности что за зверь @$array)
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

Странная задача.. С чего ты взял, что там ошибка?
Функция принимает ссылку на массив и проходит по этому массиву.
Например:
#!/usr/bin/perl use warnings; use strict; sub a { my $array=shift; foreach my $a (@$array) { print "$a\n"; } } a([1, "abc", 2]);@$array разыменовывает ссылку в массив, см. perldoc perlreftut и perldoc perlref.
Да-да. Надо знать, что должна делать ф-ция. Тогда можно будет говорить об [не]ошибке…
Пасибо почитал перлдок, вроде разобрался 8) Вопрос тогда надо уточнить..
Такой вопрос: может ли данная функция привести программу к runtime error, если может, то как?
Разумеется, может. Начиная с того, что $array может быть неверной ссылкой (или вообще не ссылкой) и заканчивая делением на 0 ;-)