高分,请人详细讲讲perl中管道符号的意思!快速结贴!

725137 2009-03-25 11:38:52
有一道题:

Open Message,"<filename" 和Open Message,"| filename" 是一样的,都是以读的方式打开文件.
判断正确性?这句话是对还是错?(我认为是错的,|在后面才表示读,对吗);

另再详细给我讲讲|管道符号的用法和意思。请举windows系统下面的例子.不要用unix来举例。谢谢

...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin_zxp315 2009-07-28
  • 打赏
  • 举报
回复
如果仅使用perl的内嵌的命令的话,windows和unix上的差别应该很小
kevin_zxp315 2009-07-28
  • 打赏
  • 举报
回复
open Message,"filename |";
这个是打开读,意思是此后的代码中如果执行读取文件操作符Message,那么就从filename指定的file中读取内容。
例如:
---------------------------
filename文件的内容如下:
aaaaa
bbbbb
ccccc
---------------------------
如果你执行代码
$var=<Message>;
此时变量$var的值为aaaaa; #因为<>操作符一次读取一行。

####################################################

open Message,"| filename"; #这个是打开文件写,正好和上面的相反

####################################################

open命令中使用管道主要还是把内容传递给其他外部命令,open命令中与管道一起出现的不单可以是文件名,还可以是外部命令more等。
例如:
---------------------
open(PipeTest, "| more");
print PipeTest "It's OK...\n"; # when outputting to filehandle 'PipeTest', info will be redirected to 'more' external command.
-----------------------
上面这个代码会将输出到文件操作符PipeTest的内容重定向到more外部命令,实际效果就是,如果输出的内容很多,则会分页显示

kindTerry 2009-03-26
  • 打赏
  • 举报
回复
不对。
Open Message,"program argv |" 才是打开管道读
如果filename不是可执行文件的话,那么Open Message,"| filename" 什么也不是
iambic 2009-03-26
  • 打赏
  • 举报
回复
不对。应该是:
open Message,"| program-name argv..."

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧