在Perl中编码时,真的应该使用外部命令吗?我看到它的几个缺点.它不是系统独立的,也可能存在安全风险.你怎么看?如果没有办法,你必须使用Perl的shell命令,那么执行该特定命令最安全的方法是什么(比如检查pid,uid等)?
这取决于在Perl中复制功能的难易程度.如果我需要m4在某些东西上运行宏处理器,我不会想到尝试在Perl中复制该功能,并且因为http://search.cpan.org/上没有看起来合适的模块,所以看起来很其他同意我的观点.那么,在那种情况下,使用外部程序是明智的.另一方面,如果我需要读取目录的内容,那么readdir()et al加上stat()或lstat()Perl内部的组合比使用输出的输出更合理ls.
如果需要执行命令,请仔细考虑如何调用它们.特别是,您可能希望避免shell解释参数,因此使用数组形式system(另请参阅exec)等,而不是命令加参数的单个字符串(这意味着shell用于处理命令行) .
| 归档时间: |
|
| 查看次数: |
1077 次 |
| 最近记录: |