如何在Perl中通过ssh获取cat的输入

时间:2011-10-31 14:10:42

标签: perl input ssh pipe

我正在尝试通过ssh捕获远程文件并逐行处理本地脚本。到目前为止,我已经尝试了这个

open(INPUT,"| ssh user@host cat /dir1/dir2/file.dat")

但显然它只是将file.dat打印到STDOUT。

我知道我可能只是scp文件并处理它,但是......

2 个答案:

答案 0 :(得分:3)

你正在将引入 ssh。我想你想把管道移到另一端,这样你就可以读取那个cat命令的输出。

答案 1 :(得分:1)

我会用

$file_contents = `ssh user@host cat /dir1/dir2/file.dat`;
@lines = split(/\n/, $file_contents);
.
.
. # process the file contents

捕获命令的输出(即文件的内容)。