草庐IT

perl-critic

全部标签

windows - 为什么 Perl 不能在 Windows 下启动 telnet?

我在Windows2008上启用了telnet客户端功能,并尝试从Perl脚本启动它:perl-e"system('c:\windows\system32\telnetlocalhost')"然后我得到了这样的错误:'c:\windows\system32\telnet'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.我可以从“cmd”终端运行它,或者,如果我将telnet.exe复制到本地目录,它就可以启动。我查看了c:\windows\system32下telnet.exe的权限,没有什

windows - perl 的 rmtree() 无法删除 win32 上的目录,第二次尝试成功

在Perl中,我做了一个:rmtree($myfolder);通常这在Windows上会失败。再次运行时,它会成功。似乎以某种方式删除文件夹中的文件需要一段时间,并且它以某种方式尝试在文件消失之前删除文件夹。在Windows上是否有“这个确实有效”的Perl方法来删除目录及其所有内容? 最佳答案 您是否正在运行病毒扫描程序?如果它正在扫描一个文件,它会打开该文件。Windows不允许您删除由另一个进程打开的文件/目录。 关于windows-perl的rmtree()无法删除win32上的

windows - Windows 上 Perl 的 site 和 site\lib 目录位置

我是一名PHP程序员,刚刚被分配处理一些Perls方面的任务-我需要安装模块。但是有人可以为我澄清安装模块时“lib”和“site\lib”之间的区别吗?一个模块安装在一个模块而不是另一个模块中的标准是什么?这在Windows上真的相关吗(抱歉,从来没有在UNIX上工作过)。我正在考虑使用StrawberryPerl5.12.2.0。 最佳答案 lib/包含Perl自带的模块。site/lib/包含您自己安装的模块。Perl本身对两者没有任何区别。如果site/lib/对于全新安装来说不是空的,可能是因为Strawberry在其发行

windows - 我想在 Windows 下从 Perl 运行 .exe 命令

我已经让Perl创建了一个用户名数组(@ua);现在我需要检查是否每个都存在于ActiveDirectory中。我想到的最好的方法是对每个用户运行dsquery并确定命令退出时是零还是非零。我写了以下内容:foreach(@ua){$out=`C:\\Windows\\System32\\dsquery.exeuser-samid$_`;}当我运行它时,我在命令行控制台中得到了一个重复的列表:'C:\Windows\System32\dsquery.exe'isnotrecognizedasaninternalorexternalcommand,operableprogramorbat

windows - Perl:如何将编码添加到 PAR 打包存档

以下程序:useEncodeqw(:all);my@list=Encode->encodings();printjoin("\n",@list);如果我将脚本作为.pl或作为可执行文件运行,由pp.bat创建(使用ActiveStatePerl),会给出不同的结果如果我运行由pp.bat创建的a.exe,可用编码列表非常短。如何添加编码? 最佳答案 您应该直接在代码中添加模块。useEncodeqw(:all);useEncode::Byte;useEncode::CN;useEncode::JP;useEncode::KR;use

windows - Perl:获取二进制支持的最低操作系统

是否有Perl命令可以让我获得任何给定二进制文件支持的最低操作系统?您可以通过运行“link/dump/headers[binaryFile]”并查找“子系统版本”链接来手动获取该信息。我不想使用它,因为它的性能非常差。谢谢 最佳答案 如果Windows需要这个,请使用get_manifest来自Win32::Exe.您需要先安装它。 关于windows-Perl:获取二进制支持的最低操作系统,我们在StackOverflow上找到一个类似的问题: https

windows - 用于 Windows GUI 的 Perl

我来这里之前在网上搜索过。我想每个人的需求都不一样。我想要一个WindowsGUI程序,它将从数据库中获取信息并将其显示在网格中,并在每条记录旁边有一个删除按钮。我还希望它有一个链接,例如,如果单击记录的ID号,它会打开新的浏览器并导航到与其关联的页面,并完成表单然后自行提交。问题是:既然有很多模块,那么哪一个最适合呢?(Perl努比) 最佳答案 没有人能真正说什么是最好的,但是Tk模块的选项可能是最好的,在你的情况下,后端是DBD::MySQL在Perl中这样的事情的“标准”。两者的例子都可以在网上找到。这里有一些用于mySQL和

windows - Perl 脚本自动化 : search for certain items in notepad

我必须使用CTRL+F搜索某些项目,这些项目每天在记事本中几乎有100个。我想知道,有什么方法可以让我编写脚本或任何东西否则,我将向其传递所有项目,如果成功,它将给我搜索输出,即应该返回在记事本中找到的所有项目。我在windows上工作。请帮忙,因为它浪费了我的时间,在不久的将来,如果项目增加到1000,这对我来说将是一个巨大的解决方法。我对Perl有一些想法,我认为它在Perl中是可能的,所以我在这里提出了这个问题。但是如果你想用任何其他语言提供你的脚本,请提供。In需要一个解决方案。 最佳答案 usestrict;usewarn

Windows Perl --> Unix 在移植后不工作,可能是编码问题

我有一个在Windows上编写的Perl程序。它开始于:$unused_header=;my@header_fields=split('\|\^\|',$unused_header,-1);它应该拆分由一个非常大的文件组成的输入:The|^|Quick|^|Brown|^|Fox|!|进入:{The,Quick,Brown,Fox|!|}注意:这条线只做headre,还有另一条类似的线做重复的数据线。它在windows上运行良好,但在linux上却失败了。但是,如果我在Perl中定义一个具有相同内容的字符串,并对其运行拆分,它就可以正常工作。我认为这是一个UTF-16编码处理问题,但我

windows - 我不明白为什么在 Perl 中使用 Parallel::ForkManager 时所有 fork 的子节点不会同时启动

我正在制作2个fork。我有两个案例:我只记下每个fork的时间我记下每个fork的时间,然后执行一些步骤,例如请求一个网站。根据我的理解,在这两种情况下,两个child的开始时间差异应该在相同的范围内。但在这两种情况下,存在很大差异。case1代码:useParallel::ForkManager;useWWW::Mechanize;useLWP::UserAgent;useTime::HiResqw/gettimeofday/;useTime::Formatqw/%time/;usePOSIXqw(strftime);useTime::HiResqw(gettimeofday);$