Perl:(划分)大脚本的最聪明,最快捷的方式?

时间:2013-06-28 23:13:12

标签: perl perl-module subroutine

我有一个Perl脚本,已经(截至目前)10个潜艇并且正在增长..

每个子进行不同的LWP调用,并使用我在第一个子集中设置的变量。

由于每个子需要一些时间,我正在寻找一种智能方法来使脚本运行得更快。

你会推荐什么?

我应该:

  • 将每个子组合成一个单独的脚本?
  • 立刻调用潜艇(第一个除外)?
  • 使用其他解决方案(我不知道)?

提前致谢!

修改: 该脚本从Web获取一些xml和soap数据,然后提取必要的部分。

3 个答案:

答案 0 :(得分:0)

我使用Coro已经成功,并且已经有一个模块可以执行LWP请求。

http://metacpan.org/pod/LWP::Protocol::Coro::http

Coro是合作惯例,因此不是多线程的。还有一个AnyEvent变种

答案 1 :(得分:0)

您可能需要查看LWP::Parallel模块。

  

ParallelUserAgent是现有libwww模块的扩展。它   允许您获取URL列表(它目前支持HTTP,FTP,   和文件网址。 HTTPS也可以工作)并连接到所有 in   并行,然后等待结果进来。

答案 2 :(得分:0)

如果你不想,你不必拆分文件。只需要在STDIN上运行一系列事物,然后多次执行你的脚本将每个进程放在后台或者使用cron(如果它正在进行中)。

我建议您使用操作系统的流程,直到您有充分的理由不再这样做。