Я просто смотрел на кого-то, может сказать мне, как создать массив содержания каталога?. Неудивительно, шарики файла предлагались как ответ. То, что удивило меня, было то, что сообщение рекомендовало использовать glob()
вместо <*>
.
Я использую <*>
потому что, именно это я изучил давным-давно и никогда не думал об этом. Который не является серьезным основанием.
Какой синтаксис Вы предпочитаете для globbing, и почему?
Лично я думаю, что <>
сильно перегружен. Это вроде как означает "читать из итератора", но в определении того, какой итератор на мой вкус, слишком много магии и тонкости. Например, <$foo>
и <$foo{bar}>
означают совсем разные вещи, а магический голый <>
означает что-то другое.
Я предпочитаю использовать glob
и зарезервировать синтаксис <>
для дескрипторов. Это сэкономит когнитивную нагрузку при выяснении, является ли содержимое <>
паттерном, а не рукояткой (или чем-то, что разрешается к одной из них). Тем не менее, если вы мысленно ассоциируете нотацию <>
с "итератором", а не с "чтением", вы можете предпочесть это функциональному синтаксису - по крайней мере, для тех случаев, когда вы хотите перешагнуть через результаты, а не генерировать список.
Этот perldoc, который вы связали, говорит, что есть некоторые проблемы с синтаксисом угловой кронштейны:
Один уровень двойной цитаты Интерпретация сделана первым, но вы не могу сказать
<$ FOO>
, потому что это косвенный файлхандл, как объяснено в предыдущий абзац. (В старше Версии Perl, программисты будут Вставьте вьющиеся скобки в силу Интерпретация в качестве имена файла GLAC:<$ {foo}>
. В эти дни это считается Очиститель, чтобы вызвать внутреннюю функцию непосредственно какGLAC ($ FOO)
, который Вероятно, правильный способ сделать это в первую очередь. )
Я в основном использую файл :: Найти
и его ILK сам.
div.section > div
-121--557501- В эти дни я придерживаюсь glob
, потому что нахожу его более читаемым и удобным для новичков (*) по сравнению с использованием угловых скобок.
(*) perldoc-f glob
работает.