可能重复:
在Perl中使用foreach或while迭代文件的区别是什么? 在while循环中,Perl读取一行输入并将其放入变量中,然后运行循环体。然后,它返回查找另一行输入。但是,在foreach循环中,线路输入运算符在列表上下文中使用(因为foreach需要一个列表来迭代)。因此,在循环开始运行之前,它必须读取所有输入。当输入来自400 MB Web服务器日志文件时,这种差异会变得明显!通常最好使用while循环的快捷方式,该方式将尽可能逐行处理输入。来源-《Llama书》 那么我应该每次都使用
在Perl中使用foreach或while迭代文件的区别是什么? 在while循环中,Perl读取一行输入并将其放入变量中,然后运行循环体。然后,它返回查找另一行输入。但是,在foreach循环中,线路输入运算符在列表上下文中使用(因为foreach需要一个列表来迭代)。因此,在循环开始运行之前,它必须读取所有输入。当输入来自400 MB Web服务器日志文件时,这种差异会变得明显!通常最好使用while循环的快捷方式,该方式将尽可能逐行处理输入。来源-《Llama书》 那么我应该每次都使用
while
吗?什么情况下foreach
循环会优于while循环?