Лично я думаю, что <>
сильно перегружен. Это как бы означает «читать из итератора», но в определении того, какой тип итератора на мой вкус, слишком много магии и тонкости. например <$foo>
и <$foo{bar}>
означают совершенно разные вещи, а волшебный голый <>
означает еще что-то другое.
Я предпочитаю использовать glob
и резервировать синтаксис <>
для дескрипторов. Это избавляет от когнитивного бремени выяснения, является ли содержимое <>
шаблоном, а не дескриптором (или чем-то, что разрешает один). Тем не менее, если вы мысленно связываете нотацию <>
с «итератором» вместо «чтения», вы можете предпочесть это функциональному синтаксису - по крайней мере, в тех случаях, когда вы хотите перешагнуть через результаты, а не создать список.