我只是在看 Can someone tell me how to create an array of directory contents? .不出所料,提供了文件 globs 作为答案。令我惊讶的是,该帖子推荐使用 glob()
而不是 <*>
.
我用 <*>
因为那是我很久以前学到的东西,从来没有想过。这不是一个很好的理由。
您更喜欢使用什么语法进行通配,为什么?
最佳答案
个人认为<>
严重重载。它有点意思是“从迭代器读取”,但是在确定哪种迭代器适合我的口味时,它有点过于神奇和微妙。例如<$foo>
和 <$foo{bar}>
意味着非常不同的东西,和神奇的裸<>
意味着不同的东西。
我更喜欢使用 glob
并保留 <>
句柄的语法。这样做可以省去确定 <>
的内容是否正确的认知负担。是一个模式而不是一个句柄(或解析为一个的东西)。也就是说,如果你在心理上联想到 <>
与“迭代器”而不是“读取”的表示法相比,您可能更喜欢函数式语法——至少对于那些您想要跳过结果而不是生成列表的情况。
关于perl - glob ('foo*' ) 相对于 <foo*> 的比较优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2087981/