2 在Perl中使用Getopt::Long模块来接收用户命令行参数
10 Parallel::ForkManager(注意下面关于start and next的解释)
The and isn't just a "do this then this", it's a shortcut operator. If the $manager->start evaluates to something true, it does the next, but otherwise it doesn't.
In the particular case of Parallel::ForkManager, the ->start method returns values just like fork does; in the parent, it returns the pid of the child (which is a positive integer, and thus true), and in the child, it returns 0 (which is false).
So, the result is that in the parent process, the next happens, and it goes around and spawns off the next one (which is what you want the parent to do). In the child, since the ->start returns a false value, the and isn't followed, and it goes ahead and does the bits of actual work. The child does its thing (with system in this case), and then calls the ->finish method, which is equivalent to exit, so the child doesn't go back to the top of the loop and try spawning off more children (that's the parent's job).
本文介绍了Perl编程中的实用技巧,包括路径处理、命令行参数解析、日期时间操作等,并详细探讨了Parallel::ForkManager模块的工作原理及如何利用其进行有效的并行任务管理。
139

被折叠的 条评论
为什么被折叠?



