草庐IT

mod-perl2

全部标签

windows - 在 Windows 的 perl 脚本中运行 perl -e

我需要在Windows的Perl脚本中运行以下命令。代码再简单不过了:#!C:\Perl\bin\perlperl-e"printqq(Hello)";我将此文件保存为test.pl。我在Windows中打开命令提示符并从c:\Per\bin目录运行以下命令。当我将它作为perltest.pl运行时,我得到以下结果:C:\Perl\bin>perltest.plsyntaxerrorattest.plline3,near""perl-e"print"Executionoftest.plabortedduetocompilationerrors.我该如何解决这个问题?如果我只是在命令提示

windows - 如何从 Perl 中的任意文件类型读取数据?

我正在尝试读取文件的内容,以便将其提交到数据库(我不需要解析数据,也不关心它说的是什么)。文件可以是任意类型(.exe、.txt、无扩展名等),但据我所知,有一种非二进制方式来读取文件,以及一种特定的二进制方式(使用binmode),而且如果你不恰本地使用它们来处理错误的类型,它似乎会破坏你的文件(至少在Windows上是这样?)是否有一种巧妙的方式来读取文件的内容,而不必担心它有什么样的数据? 最佳答案 以read模式打开文件句柄后,应用binmodeopenmy$fh,' 关于win

windows - 为什么不鼓励在 Windows 上将 PPM perl 模块与 Strawberry perl 一起使用?

谁能阐明为什么人们会发表此评论?我在stackoverflow(likethisone)上看到过几个线程,人们在其中这样说。在我看来,PPM只不过是刚刚放入perl安装中的模块的预编译版本。假设它们对系统DLL没有外部依赖性,那么最大的风险是什么?据我所知,PPM会在您安装特定模块时进行依赖性检查,并将安装它需要的任何其他模块。似乎与在Linux发行版上使用.deb或.rpm文件一样。编辑#1:我找到了thispage关于Wx模块,他们在其中展示了如何使用PPM为StrawberryPerl安装Wx。我试过了,它们似乎工作得很好。我还使用PPM和cpanminus混合了CPAN模块,一

windows - 如何使用 Perl 在 Windows 上检测打开的文件句柄的文件是否已被删除?

我有一个打开文件句柄的进程。我需要检测此文件是否已被另一个进程删除(可能存在同名文件)。在UNIX上,我通过stat比较文件句柄的inode和文件路径,但这在Win32上不起作用。我如何在Perl中执行此操作?谢谢,-彼得 最佳答案 我可能弄错了(我不是Windows程序员),但我认为在Win32中打开文件时无法删除或替换文件,或者至少在默认情况下是不可能的。 关于windows-如何使用Perl在Windows上检测打开的文件句柄的文件是否已被删除?,我们在StackOverflow上

windows - 在 Perl 中将 .exe 转换为 .pl?

我正在尝试从可执行(.exe)文件中获取Perl脚本(.pl)。.exe文件最初是用Perl编码的,但没有保留.pl文件。有没有快速的方法来做到这一点?我正在使用适用于Windows的StrawberryPerl。谢谢 最佳答案 将.exe重命名为.zip并检查是否可以解压 关于windows-在Perl中将.exe转换为.pl?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1

windows - 为什么我在使用 Perl 下载的网页中出现额外的换行符?

我正在编写一个简单的Perl脚本(在Windows上)来将获取请求的响应下载到文件的url。非常简单。除了写入输出文件时,我得到额外的换行符。所以喜欢而不是:title我明白了title这是Perl脚本:useLWP::Simple;my$url=$ARGV[0];my$content=get($url);open(outputFile,'+>',$ARGV[1]);printoutputFile$content;close(outputFile);我想我可以得到wgetforWindows,但现在这困扰着我。我如何摆脱那些额外的换行符?! 最佳答案

windows - Windows 上的 Perl : Problems with Encoding

我的Perl脚本有问题。在类UNIX系统中,它会将所有Unicode字符(如ä)正确地打印到控制台。在Windows命令行中,字符被分解为无意义的字形。有没有一种简单的方法可以避免这种情况?我正在使用useutf8;。提前致谢。 最佳答案 useutf8;简单地告诉Perl你的源代码是使用UTF-8编码的。它也不适用于unix。有一些字符串无法正确打印(printchr(0xE9);),大多数会打印“宽字符”警告(printchr(0x2660);)。您需要对输入进行解码并对输出进行编码。在unix系统中,通常是这样useopen'

windows - 我如何让 Perl 理解导航到路径中有空格的目录?

我正在尝试导航到一个目录,其中存储了我需要在脚本中用于生成结果的函数。但是我被卡住了,因为Perl无法理解我的函数位置语法(带有空格)。这是我的代码:$path="D:\\AVIMEHENWAL\\PERL\\SCRIPTS\\PROJECTS\\SnmpCheck";$snmpwalk=`$path\\SnmpWalk.exe-q-t:60-r:$ip-v:2c-c:$comm-os:1.3.6.1.2.1.1-op:1.3.6.1.2.1.1.9`;print"$snmpwalk";其中SnmpWalk是我的函数,位于变量$path中的路径中。Perl在运行时返回以下错误:D:\A

windows - 让 Perl 在 Windows 上像 Linux 一样工作(通配符扩展)

对于包含通配符的文件名,Windows上的Perl脚本能够像在Linux上那样工作会很好。例如:perlmyscript.pl*.txt在Linux上,bash会将*.txt扩展为一组文件名,并将它们作为单独的参数传递给perl解释器。在Windows上,*.txt直接传递到Perl。所以,基本上,我正在寻找的是放在脚本顶部的东西,它将扩展通配符参数,以便脚本的其余部分可以与Linux上的相同。例如:myscript.plusewarnings;usestrict;#Mysterycodetoexpandallwildcardparams,fudgingARGVintheprocess

windows - mod_rewrite 不适用于 Windows 7 上的 Apache 2.2

我在我的Windows7机器上启动并运行了WampServer。它安装在C:/wamp中。我已经使用C:/wamp/bin/apache/Apache2.2.1.7/conf/extras/httpd-vhosts中的以下VirtualHosts设置了我的配置NameVirtualHost*:80ServerNamelocalhostServerAliaslocalhostDocumentRoot"C:/wamp/www"OptionsIndexesIncludesFollowSymLinksExecCGIMultiViewsAllowOverrideallOrderAllow,Den