2009年11月16日星期一

[PerlChina] Re: 关于在perl中用shell

从效率开销的角度 看 ,考虑的是   perl 内置函数(比如rename) ->  模块函数(File::Copy qw/ copy move / ) -> shell函数 ,system调用
因为内置、模块函数是经过优化(c或perl)的, system调用 开销太大,要启动子进程,


也见过

rename "a", "B" or  system('/bin/mv  a  B') ;



2009/11/17 Lin <i@lxl.cn>
无 /bin/mv 但是 rename 还是可以使用的,rename 不是调用外部命令实现,没 mv 在 windows 下照样可用。

2009/11/16 PIG <addmyin@gmail.com>
不存在的话估计perl内置的函数也不管用,哈哈。加一个system(xxx)==0 or die来区分是否执行成功。


2009/11/16 Lin <i@lxl.cn>

是,兼容性好点,万一哪个 mv 不存在怎么办 :-)

2009/11/16 liseen <liseen.wan@gmail.com>

     perl 提供了跟shell 很相似的方法来使用外部命令, 同时又提供了自己的函数来操作, 个人想法是如果perl有相关的函数, 就用perl自己的函数, 比如rename 函数, 而不是调用外部命令来做, 各位的意见呢?





--
           Yours Sincerely
                   Zeng Hong

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: