草庐IT

perl-critic

全部标签

windows - 在 Windows 命令提示符下处理多个 perl 脚本

我有很多perl脚本在我的Windows系统上无限循环运行。打开那么多命令提示是非常不方便的,更不用说错误关闭它们的可能性(奇怪的是,当我点击提示时它们似乎也暂停了)有什么办法可以解决这个问题吗?比如可以将其最小化到托盘并在必要时最大化?如果有用,我用activeperl 最佳答案 您可以使用Console2实用程序,它是Windows控制台窗口的增强功能,它具有多个选项卡功能。 关于windows-在Windows命令提示符下处理多个perl脚本,我们在StackOverflow上找到

windows - 如何在 Windows 上使用 perl 进行就地编辑 (-i)?

在unix/linux版本中,我只需更改第一行:#!perl-i.bak在Windows上使用Activestateperl,我在其中创建了与.pl的关联,我可以直接从命令行运行perl脚本。myScript.pl如果我仍想使用默认关联,如何对文件进行就地编辑? 最佳答案 听起来像是个骗人的问题,我想知道我是否理解正确。perl-pi.bakmyScript.plmyfiletochange只需调用perl,提供开关和脚本名称,然后就可以开始了。现在,您可能不想提供这些额外的参数。如果是这样,您可以简单地设置thevariable$

linux - 在 Linux 和 Win32 下运行的 Perl 模块

我有一个需要在Win32和Linux操作系统中运行的perl模块。该模块使用Win32::Process::List来避免与Win32下的第3方应用程序的并发问题,并且在Linux下运行时没有等效要求。到目前为止,我已经成功地获得了同一模块的两个副本,并针对Linux版本注释掉了特定于Win32的内容-我显然对这种容易出错的方法不满意。很明显,win特定的东西不会在Linux中“安装”。我在我的代码中尝试了一种更温和的方法,使用requireWin32::Process::List;而不是useWin32::Process::List;,前者给出了通过perl-cmymodule的优势

windows - 无法安装 perl 模块 Crypt::TEA

当我尝试在Windows7上将Crypt::TEA模块安装到perl5.18时,显示错误:TEA.xs:Infunction'XS_Crypt__TEA_crypt':TEA.xs:58:9:error:invaliduseofvoidexpression 最佳答案 问题是thisline:if(SvREADONLY(output)||!SvUPGRADE(output,SVt_PV))croak("cannotuseoutputaslvalue");SvUPGRADE()是一个有两个无效操作的宏,它不返回值。如果它失败了,它会吱吱

windows - 如何使用 Perl 自动化现有的 Internet Explorer 实例?

我正在努力控制IE预览控件,它是使用perl的外部Windows应用程序上的“InternetExplorer_Server”类。InternetExplorer_Server是窗口的类名,我用Spy++找到了它。这是我的断言代码$className=Win32::GUI::GetClassName($window);if($classNameeq"InternetExplorer_Server"){...}我可以使用Win32::GUI::GetWindow获取“InternetExplorer_Server”的句柄,但不知道下一步该做什么。 最佳答案

windows - 如何在 Perl 中获取 Win32::Process 命令的输出?

我正在使用useWin32::Process来运行我的应用程序,如下所示。它运行良好,但我没有找到任何方法将输出输出到.txt文件。我使用NORMAL_PRIORITY_CLASS而不是CREATE_NEW_CONSOLE在同一终端上获取输出,但我不知道如何将其重定向到txt文件。/洛基#!/usr/bin/perlusestrict;usewarnings;useWin32::Process;Win32::Process::Create(my$ProcessObj,"iperf.exe","iperf.exe-u-s-p5001",0,NORMAL_PRIORITY_CLASS,".

windows - 如何在不打开单独的命令窗口的情况下在 Windows 上运行多个 Perl 脚本?

我有多达十个Perl脚本要在Windows服务器上运行。有什么比为每个脚本打开一个新提示并在您的服务器上打开十个窗口更好的方法吗? 最佳答案 您可以将它们作为服务运行。查看Win32::Daemon. 关于windows-如何在不打开单独的命令窗口的情况下在Windows上运行多个Perl脚本?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3930746/

windows - 为什么 Perl 系统调用无法调用内部 Windows 命令?

在我们的一台WindowsXP机器上,dir/b等Perl系统命令会生成一条错误消息,例如:/b:nosuchfileordirectory。换句话说,开关被解释为文件名。无论我使用backticks、open()还是system()都会发生这种情况。我什至尝试将开关作为单独的参数传递给system()。当然,我已经确认调用在DOS命令行或批处理脚本上正常工作。有没有人遇到过这个? 最佳答案 您可能安装了Cygwin并且dir.exe在你的路径中,这不是cmd.exe内置但是ls的别名.C:\>whichdir/usr/bin/di

windows - 我如何确保使用 Perl 的 Imager::Screenshot 截取特定窗口的屏幕截图?

我使用Imager::Screenshot在我的Perl代码中,它确实有效并截取了屏幕截图。现在,每次浏览器都在不同的位置打开,这意味着开始的x和y位置可能不一样。有没有办法从浏览器而不是桌面起始位置开始截屏。如果不是(与编程无关)是否有办法将浏览器设置为仅以全尺寸打开,无论它是从什么程序打开的。单击图标时由用户打开,或由Perl使用Win32::OLE打开模块。 最佳答案 您可以使用Win32::GuiTest::FindWindowLike查找与浏览器关联的窗口句柄并将其指定为screenshot:#!/usr/bin/envp

windows - 在 Perl for win32 中获取 CPU ID 序列号

如何在不使用任何模块的情况下,在perl中为Windows机器获取CPU/处理器序列号或唯一ID,可能使用系统调用或其他东西? 最佳答案 http://metacpan.org/pod/Win32::SystemInfo.如果没有模块,您可以学习该模块的源代码并使用它。你会看到模块从kernel32.dll导入函数GetSystemInfo并使用它,你可以用同样的方式来做 关于windows-在Perlforwin32中获取CPUID序列号,我们在StackOverflow上找到一个类似