草庐IT

perl-critic

全部标签

windows - Perl: "start perl.exe <filename>"与 "perl.exe <filename>"有何不同

我对perl很陌生,我问过一个friend这件事,他说了一些关于“客厅执行”的事情。这是什么意思?编辑:这是在命令提示符下 最佳答案 start使Windows创建一个新的命令提示窗口来运行命令,从而释放原始提示。例如,打开命令提示符并将ping-t8.8.8.8与startping-t8.8.8.8进行比较。 关于windows-Perl:"startperl.exe"与"perl.exe"有何不同,我们在StackOverflow上找到一个类似的问题: h

regex - 从 perl 5.8(32 位)升级到 5.16(64 位)- 正则表达式性能受到影响

我正在针对数据block运行一系列正则表达式。我们最近从Activestateperl5.832位(我知道……非常老!)升级到perl5.1664位。所有硬件都保持不变(Windows)。我们注意到性能受到影响,之前我们的解析循环大约需要2.5秒,现在大约需要5秒。谁能给我一个提示,说明是什么导致了这种变化?我期待性能的提高,因为我的理解是引擎已经有了很大的改进,任何关于我应该做的不同的文档都将不胜感激。 最佳答案 是的,正则表达式引擎在v8之后有了很大的改进。单独在v10中,我们看到:模式递归命名捕获所有格量词回溯控制动词,如(*

windows - Strawberry Perl 是 %ENV 一个普通的对象

因此,在StrawberryPerl中,%ENV似乎是一个普通的散列(至少它没有绑定(bind)),但它似乎也不区分大小写地解析键。考虑到环境,这是有道理的变量在PowerShell中不区分大小写(我不确定它们之间的确切关系Windows环境变量和大小写)。所以,我想知道%ENV如何同时成为普通散列,并具有“隐式”键,当您称它们为内置键时,这些键未列出。%ENVhash不用绑定(bind)就神奇吗?usestrict;usewarnings;#Envappearstobeanordinaryhash#'TEMP'ispresentinthelistofenvironmentvariab

windows - cpan 与 -MCPAN - Perl

我目前在Windows上通过Cygwin运行bash,我遇到了两种不同的安装Perl模块的方法cpanName::Module和perl-MCPAN-eshellinstallName::Module这两种方法有什么区别,它们相对于另一种方法有什么优点或缺点吗? 最佳答案 cpan为perl安装在#!的shebang(cpan)行中文件。当某人拥有多个perl安装在机器上时,它们有时会运行错误的cpan副本,因此最终会为错误的perl实例安装模块.一个解决方案是指定正确cpan的完整路径文件。perl-MCPAN-eshell是另一

windows - 如何在不在脚本路径前键入 "perl"的情况下从 Cmd 运行 Perl 脚本?

例如perlC:\Projects\trunk\PcApps\BaseCamp\Test\smoketest.plC:\Projects\trunk\PcApps\BaseCamp\Test\log.txt没有perl。 最佳答案 将.pl扩展名分配给perl解释器。这取决于您的Windows版本。根据您使用的perl安装程序,它可能还会为您提供自动执行此操作的选项。 关于windows-如何在不在脚本路径前键入"perl"的情况下从Cmd运行Perl脚本?,我们在StackOverfl

windows - perl中的无缓冲IO

我有一个Perl应用程序,它使用打开和打印调用将日志写入文件。open(FH,"d:\\temp.txt");printFH"Somelog";close(FH);然而,在机器突然关闭期间,日志不会保存到文件中。所以在几个地方搜索之后,建议了两个选项来进行无缓冲IO(即将文本写入磁盘而不是将其保存在缓存中然后刷新它):sysopen,syswrite$|=1;我已经尝试了这两个选项,但都行不通。我在异常关机前几秒钟所做的任何写入都丢失了。有什么方法可以几乎确定性地在Perl中完成无缓冲IO?我正在运行带有Perl5.8.3的Windows764位。编辑:我搜索了如何让Windows执行

windows - 如何获得在 Windows 上构建 Perl 模块的工具?

我需要在Windows上安装我的Perl程序所需的一些模块。看来我需要64位nmake来构建这些模块。我在网上找到了nmake15,但它在我的系统上不起作用。如何在Windows上构建这些Perl模块? 最佳答案 VisualStudio2013社区版是freelyavailableundercertainconditions:Q:WhocanuseVisualStudioCommunity?A:Here’showindividualdeveloperscanuseVisualStudioCommunity:Anyindividua

windows - 为什么我在 Perl 中打开的管道中的 * 在 Windows 上不起作用?

我在使用Perl时遇到了这个奇怪的问题。我试图从我的Perl脚本中执行一个外部程序,这个外部程序将字符串+通配符作为参数。我的Perl程序看起来像这样my$cmd_to_run='find-something-in-somedbmyname*|'open(procHandle,$cmd_to_run);#IamusingopenbecauseIwantto#parsetheoutputusingpipes由于某些奇怪的原因,运行此Perl脚本(在Windows下)调用open函数以错误结束:'sqlselect'isnotrecognizedasaninternalorexternal

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