Perl 输入输出操作全解析
1. while 循环与 foreach 循环处理输入的差异
在处理输入时,while 循环和 foreach 循环有着不同的机制。while 循环每次读取一行输入,将其存入变量,然后执行循环体,之后再去读取下一行。而 foreach 循环则是在列表上下文中使用行输入操作符,它会在循环开始前读取所有输入。这种差异在处理大文件(如 400MB 的 Web 服务器日志文件)时尤为明显。通常,建议尽可能使用类似 while 循环的快捷方式逐行处理输入。
2. 钻石操作符(<>)读取输入
钻石操作符(<>)是一种特殊的行输入操作符,它可以让程序像标准 Unix 实用工具一样工作。如果要编写能像 cat、sed、awk、sort、grep、lpr 等实用工具那样使用的 Perl 程序,钻石操作符会很有用。
程序的调用参数通常是命令行中程序名后面的一系列“单词”,它们指定了程序要按顺序处理的文件。例如:
$ ./my_program fred barney betty
这个命令表示运行当前目录下的 my_program 程序,并依次处理 fred 、 barney 和 betty 文件。
如果没有提供调用参数,程序将处理标准输入流。如果参数中包含一个连字符(-),也表示标准输入。例如, fred - betty 表示程序将依次处理 <
超级会员免费看
订阅专栏 解锁全文

175

被折叠的 条评论
为什么被折叠?



