草庐IT

perl-critic

全部标签

windows - perl 中 ps 命令的等价物是什么?

我正在使用ps-C在Linux上,但同样不适用于Windows。我如何在Perl中执行相同的检查以使其独立于平台? 最佳答案 您也许可以使用Win32::Process::Listuse5.12.0;usewarnings;useWin32::Process::List;my$P=Win32::Process::List->new();if($P->IsError==1){die$P->GetErrorText;}my%list=$P->GetProcesses();foreachmy$key(keys%list){#$list{$

windows - 运行 Perl 脚本通过 DOS 命令提示符调用网页?

我的工作场所使用XP,我试图在其上运行以下脚本usestrict;usewarnings;useWWW::Mechanize;my$mech=WWW::Mechanize->new();$mech->get('http://google.com');$mech->submit_form(form_number=>0,fields=>{q=>'ledzeppelin',});print$mech->content;但是,当我尝试通过DOS运行脚本时,我总是收到一条错误消息,指出无法加载该页面,因为我的计算机因超时而无法连接到google.com:80。据我所知,这不是网络问题,因为我的浏

regex - 为什么我在 windows 中运行的 perl 程序在我的 mac 上不能在 mountain lion 中运行?

我写了一个读取一些数据的perl程序(数据是包含由下划线分隔的字母数字字符的名称,例如SDF_233),我在使用中读取了该数据usestrict;usewarnings;useLWP::Simple;my$file="names.txt";open(DATA,$file);my@lines=;closeDATA;foreachmy$line(@lines){my$name=$line;my$otherdata;...somemorecode...print$name.",".$otherdata;}我打印$name以便我可以将它用作引用,以便在我与原始列表进行比较时仔细检查程序是否遍历

windows - Windows 中的 Perl kill(0, $pid) 总是返回 1

我正在尝试制作一个Perl脚本,它将在Windows中运行一组其他程序。我需要能够捕获进程的stdout、stderr和退出代码,并且我需要能够查看进程是否超过了分配的执行时间。现在,我的代码的相关部分如下所示:...$pid=open3($wtr,$stdout,$stderr,$command);if($time>8;$death_sig=$?&127;$core_dump=$?&128;}else{#Dotimeoutstuff,currentlynotworkingasplannedprint"pid:$pid\n";my$elapsed=0;#THISLOOPONLYTERM

windows - 为什么 Perl 的 Win32::ChangeNotify 在文件更改时触发两个事件?

我想在源或测试更改时自动运行prove,我正在使用Win32::ChangeNotify,但我不知道为什么即使是单个文件更改,while主体也会运行两次,我其实想监视所有更改,但只执行一次操作。requireWin32::ChangeNotify;$notify=Win32::ChangeNotify->new("./",1,"LAST_WRITE");while(my@events=$notify->wait){print@events,"----\n";$notify->reset;} 最佳答案 RaymondChen在Whyd

windows - 在 Perl 中读取 Windows 注册表

这个问题在这里已经有了答案:HowdoImakethe32-bitPerlreadthe64-bitWindowsregistry?(3个答案)关闭7年前。我试图在不检查一系列硬编码路径的情况下获取程序的安装位置,希望从Windows注册表中存储的路径中获取它,但是当我尝试时得到空的返回值或错误消息读取所需的键值。我读过ParsingwindowsregistryusingPerl,我认为我已经将所有答案合并到我的脚本中,但是当我尝试读取注册表值时,我总是得到一个空的结果,即使是从提升的命令提示符运行以确保脚本具有管理员权限也是如此。我首先尝试使用Win32::TieRegistry,

windows - 如何替换文件中的随机 IP 地址(Perl、Windows)

如何使用WindowsPerl替换TXT文件中的随机(未知)IP地址?(不幸的是,我只找到了主要针对Linux/sed的解决方案)我的文本文件包含FTP命令,只包含一个IP地址:openftp://user:password@123.123.123.123cdc:/tempmkdirnewdir等等我试过了,但没有任何改变。perl-pes/[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}/10.10.111.222/gFtpCommands.txt>FtpCommands_mod.txt谢谢! 最佳答案

c - Data::Dumper 中是否有与 Perls 的 Dumper() 方法等效的 C 语言?

本质上,我正在寻找的是一个允许我做这样的事情的函数:自卸车(some_obj);/*输出some_objs的数据结构*/谢谢。 最佳答案 C不支持开箱即用的任何类型的反射。从某种意义上说,它也不是硬类型的,一旦它被编译为机器代码,类型就不再存在了(与某些高级语言不同)。您需要使用所有符号和调试信息构建可执行文件,然后使用一些调试工具或库来检索这些数据。我想只使用已建立的调试器(例如VisualStudio调试器或gdb)会简单得多。 关于c-Data::Dumper中是否有与Perls的

java - 在 Perl 或 Java 端口上运行的应用程序名称

Xampp带有一个简洁的可执行文件,称为xampp-portcheck.exe。如果所需的端口空闲,这会做出响应,如果没有,则哪些应用程序正在这些端口上运行。我可以通过访问netstat详细信息来检查某个端口上是否正在运行某些程序,但是如何在Windows中找出该端口上正在运行的应用程序? 最佳答案 CPAN模块Win32::IPHelper提供对GetExtendedTcpTable的访问,后者为每个连接提供ProcessID。Win32::Process::Info提供有关所有正在运行的进程的信息。结合两者,我们得到:#!/us

windows - 为什么 Windows 上的 Perl IO::Socket 在 64 个连接后提示 "Resource Not Available"?

我在Windows下使用Perl创建了一个服务器(ActivePerl5.10.1build1006),它在连接时fork,接受一些JSON数据,并将其写入数据库。在64个客户端连接到服务器后,我遇到了一个问题,在尝试fork时出现错误消息“资源不可用”。在Linux下运行这段代码,我发现有许多已失效的子进程,通过在父进程上添加wait()调用解决了这个问题。然而,这并没有解决问题。在Linux下运行代码可以超过Windows允许的64次调用。我还启动了一个虚拟Windows服务器,以防服务器受到限制,但全新安装的Perl导致了相同的64个连接限制。欢迎任何想法。useIO::Sock