草庐IT

language-perl

全部标签

windows - Perl + Apache + CGI

如何从本地主机运行perl脚本?我已经安装了Apache2.2和ActivePerl5.16.3。我能够从命令提示符运行perl脚本。但由于我正在处理Web应用程序,我希望它从本地主机运行。但是,我在浏览器中收到以下错误内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。请帮帮我! 最佳答案 您的问题可能与Apache的配置有关。(可能是Apache需要为.cgi脚本配置)-如果是这种情况,那么您可以在这里找到很好的信息:http://www.perlmonks.org/?node_id=44536http://www.c

windows - 如何在 Perl 中以管理员模式打开命令提示符

我需要以管理员身份在命令提示符下运行命令。当我通常使用system()命令发送命令以在命令提示符下运行时,我没有管理员级别提升。如何获得管理员级别的权限来运行我的指令?我可以右键单击cmd.exe并选择“以管理员身份运行”以在管理员模式下手动打开命令提示符。谢谢!编辑如果未安装7-Zip,我将尝试安装7-Zip。(您需要安装“wget”命令(*来自Cygwin或GnuWin32)才能运行下面的代码片段)useCwd;useFile::Spec;my$cwd=getcwd();my$winpath=File::Spec->catdir($cwd);if(!(-e"C:\\ProgramF

windows - Perl:停止在 Windows 中使用 perl "system"启动的命令

在Perl中,我在两个不同的windows命令行(Cmd)中启动了两个命令,如下:system("start$cmd1");system("start$cmd2");基本上,这两个命令会继续运行,直到我使用“CTRL+C”停止它们。我的问题是:如何向每个Cmd行(或命令)发送“CTR+C”?谢谢。 最佳答案 我觉得你可以用my$pid=system(1,$cmd1);#Oneofthefollowing:kill(INT=>$pid);#SendsCtrl-Ckill(TERM=>$pid);#SendsCtrl-Breakkill

windows - 使用 MinGW 在 Win10 上安装 perl 时出错

如果这个问题的位置不对,我深表歉意,请将我重定向到合适的部分。我对从命令行安装有些生疏,尤其是在Windows上。我决定在我的PC上安装最新的Perl版本,在Windows10下运行。我之前使用StrawberryPerl下载安装它,但由于它有几个版本已经过时,我决定删除它并更新我的技能(ha)手动安装它。我从https://www.perl.org/get.html#win32下载了最新的Perl版本并且一直在阅读README.win32以确保我正确安装了它。因为我需要一个编译器,所以我决定使用Gcc和dmake.我安装并可以成功运行它们,所以回到安装Perl。按照说明,我尝试在Pe

windows - 为什么我的 Perl 脚本和 Windows 的 SendTo 不能使用超过 20 个文件?

我正在尝试模拟RapidCRC在WindowsVistaUltimate64位上检查文件名中的crc32值的能力。但是,我似乎遇到了某种参数限制。我写了一个快速的Perl脚本,创建了一个批处理文件来调用它,然后在%APPDATA%\Microsoft\Windows\SendTo中放置了一个批处理文件的快捷方式当我选择大约20个或更少的文件时,这非常有效,右键单击并“发送到”我的批处理文件脚本。但是,当我选择更多时,什么也没有发生。我怀疑某处存在字符或参数数量限制。希望我遗漏了一些简单的东西,并且解决方案或解决方法不会太痛苦。引用资料:批处理文件(crc32_inline.bat):c

windows - 套接字对、perl、KEEPALIVE 和轮询

我已经开始在linux和windows上使用socketpairs来捕获两个平台上子进程的输出。我通过将STD*复制到socketpair中的一个套接字上来做到这一点(我在perl中使用Win32::SocketPairforsocketpair'sonwindows)。我这样做的主要原因是读取不会阻塞输出文件句柄。我遇到的问题是kill(0,...)在Windows上不起作用,所以我需要另一种方法来检测进程是否关闭。我查看了SO_KEEPALIVE,但这似乎不适用于socketpairs.../p>然后我开始研究套接字上的事件轮询。POLLHUP事件看起来很有希望,但我不确定它们像这

windows - 如何使用 Perl 的 POE 识别 Windows PnP 事件?

Windows中是否有识别PnP事件的POE模块?如果是,有人可以提供想法代码片段吗? 最佳答案 不,但您始终可以编写自己的。POE旨在易于扩展。CPAN上用于处理UPnP事件的主要模块是Net::UPnP. 关于windows-如何使用Perl的POE识别WindowsPnP事件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2212839/

windows - 在包含空格的列表上下文中使用 $^X 重新启动现有的 perl 脚本

我正在运行一个我想定期重启的程序。我更喜欢向exec传递一个列表,这样shell就不会参与,如下所示://Dostuff..exec$^X,$0,@ARGV;当我这样做(在Windows上)并且$^X包含使用上面的空格时,它将$^X视为多个项目并失败。以下工作正常,但除了脚本之外还启动了一个子shell:#Dostuff..exec"\"$^X\"$0@ARGV";这不是什么大问题,但如果可能的话,我想学习如何在列表上下文中执行。我尝试过的事情:exec"\"$^X\"",$0,@ARGV;exec"\\\"$^X\\\"",$0,@ARGV;exec"'$^X'",$0,@ARGV;

windows - 将 Perl 脚本生成为具有特定名称的进程

我需要一个Perl脚本来生成一个任意名称的自身,即这样操作系统的其余部分就会将其视为例如“aaa.exe”。我的印象是这在Perl中是可能的,但现在我不确定。我在Windows7amd64上使用StrawberryPerl5.14,32位版本。这是我尝试过但不起作用的方法:#!perl-w#spawnself.plif($ARGV[0]){my$name=($ARGV[0]);system{"perl"}$name,$0;}else{print"runningas$^X,PIDis$$\n";print"pressEntertoquit...\n";my$trash=;}我根据exec

windows - 如何更新 Perl 脚本以在 MS Windows 上运行

这个问题在这里已经有了答案:WhydoesPerlcomplain"Useofimplicitsplitto@_isdeprecated"?(3个答案)关闭9年前。我在MSWindows上使用StrawberryPerl5.14.2。以下代码在LinuxPerl5.10.1上运行良好,但在MSWindows上运行失败。我需要更新它才能在两者上运行。subread_dict{openF,"){chomp;s/^*//;split;$freq{$_[1]}=$_[0];$header=substr($_[1],0,$wd);if($freq{"m,$header"}){if($freq{"