如何在 perl 脚本中读取重定向流

How to read a redirected flow in perl script

我想用 perl 脚本实时解析 tcpdump 命令的输出。

当我这样调用脚本时,如何读取脚本中的每一行:

tcpdump -i eth0 > ./parse.pl

祝你有愉快的一天

> 是重定向到一个文件。这不是您想要的 - 它会覆盖您的 perl 文件。

你需要的是一根烟斗:

tcpdump -i eth0 | ./parse.pl

这会将 tcpdump 的输出连接到您的 perl 的 STDIN。然后你可以做什么……随心所欲。

例如:

while ( <STDIN> ) {