nie martw się o grze w golfa, kod masz wygląda dobrze (inne niż pozostałe odpowiedzi dotyczące korzystania defined
). Jeśli jednak powtarzasz ten schemat, 2 rzeczy przychodzą ci na myśl.
Pierwszy jest oczywisty, byłaby go do funkcji użytkowych, dzięki czemu masz my @list = expand($hit).
Drugie pytanie jest nieco głębiej - ale dla mnie pachnie bardziej niż gra w golfa. Cały punkt iteratorów polega na tym, aby je zużywać tak, jak ich potrzebujesz, więc jeśli często robisz to często, jesteś pewien, że naprawdę jest to właściwe? Być może przenoszenie tych danych poza własne API, więc jesteś ograniczony do innych wyborów, ale jeśli masz możliwość spożywania iteratora zamiast listy, może to będzie czystsze rozwiązanie.
Pokaż nam kompletne programy demonstracyjne, dzięki czemu możemy zobaczyć takie rzeczy, jak "hit". –