在perl中使用wget下载

在perl中使用wget下载,perl,file,wget,seek,tell,Perl,File,Wget,Seek,Tell,Perl新手,希望有人能解释与此代码相关的以下问题: $url ="some url"; open FH, "wget -q -O- $url|" or die; while(<FH>){ ... } 但是如果我用echo tell(FH)回显位置,我得到0,有人知道为什么我不能寻找FH吗?谢谢第二个-表示希望wget输出到标准输出,而不是文件。|表示您正在打开一个管道,通向新创建的wget进程,并且可以读取其输出 查找对磁盘上的文件有意义,但对管道没有意义。输

Perl新手,希望有人能解释与此代码相关的以下问题:

$url ="some url";
open FH, "wget -q -O- $url|" or die;  
while(<FH>){  
  ...  
}  

但是如果我用
echo tell(FH)
回显位置,我得到0,有人知道为什么我不能寻找FH吗?谢谢

第二个
-
表示希望
wget
输出到标准输出,而不是文件。
|
表示您正在打开一个管道,通向新创建的
wget
进程,并且可以读取其输出


查找对磁盘上的文件有意义,但对管道没有意义。输出是在程序执行时生成的,因此不可能“在将来跳转”。

第二个
-
表示希望
wget
输出到标准输出,而不是文件。
|
表示您正在打开一个管道,通向新创建的
wget
进程,并且可以读取其输出


查找对磁盘上的文件有意义,但对管道没有意义。输出是在程序执行时产生的,因此不可能“在将来跳转”。
-O-
参数告诉
wget
输出到标准输出(即您的控制台/终端),而不是文件

打开调用中的管道是一个。文件句柄将连接到进程的输出(在这种情况下,连接到
wget
outputs)


对这种类型的文件句柄的
tell
调用并没有真正意义。底层是一个流,而不是一个文件
tell
可以返回,这取决于操作系统。

-O-参数告诉
wget
输出到标准输出(即您的控制台/终端),而不是文件

打开调用中的管道是一个。文件句柄将连接到进程的输出(在这种情况下,连接到
wget
outputs)

对这种类型的文件句柄的
tell
调用并没有真正意义。底层是一个流,而不是一个文件
tell
可以返回,具体取决于操作系统

O中的第二个是什么意思

manwget

这些文件不会写入相应的文件,而是全部 将连接在一起并写入文件。If-用作 文件,文档将打印到标准输出,禁用链接 转换。(使用./-打印到一个按字面命名的文件-)


| in$url |是什么意思

它不在$url中,而是在它后面

从佩尔多克那里

如果文件名以“|”结尾,则该文件名将被解释为通过管道向我们输出的命令

O中的第二个是什么意思

manwget

这些文件不会写入相应的文件,而是全部 将连接在一起并写入文件。If-用作 文件,文档将打印到标准输出,禁用链接 转换。(使用./-打印到一个按字面命名的文件-)


| in$url |是什么意思

它不在$url中,而是在它后面

从佩尔多克那里

如果文件名以“|”结尾,则该文件名将被解释为通过管道向我们输出的命令


为什么Perl有LWP(它有一个合适的Perlish API)的时候还要向wget施舍呢?我肯定有多种更好的方法来做事情,但我只是想先充分理解上面的代码,谢谢为什么Perl有LWP(它有一个合适的Perlish API)的时候要向wget施舍呢?我肯定有多种更好的方法来做事情,但是我只想先充分理解上面的代码,谢谢谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答,谢谢你的回答
 $url ="some url";
 open FH, "wget -q -O- $url|" or die;  
 seek(FH, 14000, 1);