草庐IT

perl-critic

全部标签

windows - 在 Windows 命令行中设置 PERL5LIB 的多个路径

所以我使用这个将PERL5LIB设置到我的Windows命令行中的某个目录setPERL5LIB=c:\path\to\dir我想知道是否有办法在同一命令行中为PERL5LIB设置多个路径。setPERL5LIB=c:\path\to\dir1setPERL5LIB=c:\path\to\dir2setPERL5LIB=c:\path\to\dir3etc. 最佳答案 通常,您可以通过分号分隔设置多个路径。setPERL5LIB=c:\path\to\dir1;c:\path\to\dir2;c:\path\to\dir3

windows - 使用 Strawberry(可移植)Perl(适用于 Windows 7)安装 Mechanize 时遇到问题

我在StackOverflow上的其他地方看到过帖子,暗示我安装Mechanize以与StrawberryPerl一起使用时出现的那种问题是由于公司防火墙造成的,但我不在公司防火墙后面。我确实使用ISP调制解调器,并且在桌面上安装了防病毒软件。我应该如何配置cpan来避免这个问题?----------------------------------------------WelcometoStrawberryPerlPortableEdition!*URL-http://www.strawberryperl.com/*seeREADME.TXTformoreinfo----------

windows - Windows 的 perl 系统函数中的多个参数

我有一个场景,我必须在其中执行一个Java程序,为此我必须首先设置类路径以及所有在单个Perl程序下调用的程序。我正在尝试以下不起作用的命令:$command1="echo\"Firstcommand\"";$command2="echo\"Secondcommand\"";system("$command1;$command2");以上命令在LINUX中运行良好,但在Windows中运行不正常。请帮助我执行此操作。 最佳答案 在大多数平台上,system($shell_command);表示system('sh','-c',$sh

xml - Perl XML::SAX 部分解析

是否可以使用XML::SAX::Expat的处理程序类暂停和恢复解析??文件很大,我们正在将节点读入内存来渲染表格。我们只想一次渲染一个部分,否则我们会耗尽内存。所以我们需要停止解析文件,在程序的其他部分做一些事情,然后在下一页继续。我可以想出几种方法来实现这一点(见下文),但它们都感觉像是hack。有我可以使用的原生软件吗?可能的选择:跟踪$current_node计数器并将其传递给处理程序构造函数,每个我们解析文件的时间会在存储数据之前跳过这么多节点。与上面类似,但使用tell/seek跳过每个新调用预处理以将文件拆分为多个大小正确的文件。前两个效率低,最后一个乱。有更好的选择吗?

windows - 使用 Perl 脚本模拟按下键盘 F 键

有没有一种方法可以让我在Windows7的Perl脚本中模拟按下功能键(F1-F12)?我有一个程序需要按F7才能停止。我试过终止程序进程,但这并没有完全停止进程。 最佳答案 如果您使用的是Windows,Win32::GuiTest可以做你想做的事。他们有severalexamples使用SendKeys按功能键。在Unix上,情况既容易又困难。功能键通常映射在终端中以发送多个字符。您可以找出他们使用ord和sprintf来获取十六进制值的内容(更易于使用)。这里以“kj”作为简单示例,然后是F1到F7。$perl-wle'whi

<STDIN> 上的正则表达式找不到匹配项 - Perl

我正在尝试制作一个脚本,该脚本将接受带有重音字符的字符串,并返回它们的非重音字符。在四处寻找帮助和教程后,我设法做了一些几乎可以工作的东西,但我遇到了一个问题。我的代码做我想做的,只要我希望它在一个简单的字符串上完成,但是当我想使用时它什么都不做。.我的代码:usestrict;usewarnings;my%replace=('é'=>"e",'á'=>"a",'ő'=>"o",'ö'=>"o",'ó'=>"o",'ú'=>"u",'ü'=>"u",'ű'=>"u",'í'=>"i",);my$regex=join"|",keys%replace;$regex=qr/$regex/;m

windows - Perl:为什么我会收到错误 "The file name, directory name, or volume label syntax is incorrect."

我正在尝试从Windows批处理文件运行以下perl代码,但出现错误Thefilename,directoryname,orvolumelabelsyntaxisincorrect.该脚本在eclipse中运行良好。我的最终目标是使用Windows任务计划程序定期运行此perl脚本,从而从批处理文件中运行它。有没有其他方法可以实现定期在Windows上运行perl脚本的目标?我希望我的脚本能够跨平台运行,因为我也计划在Mac上运行它。usestrict;usewarnings;useData::Dumper;useFile::Find::Rule;my$basedir="G:\/My_

windows - Windows 10 上的 "/bin/sh: C:Perl64binperl.exe: command not found"

我正在尝试使用Code::blocks和Mingw在Windows1064位机器上构建OpenSSL。我已经安装了ActivePerl和MSYS。我能够执行perlConfiguremingw没有错误。问题在于执行MAKE命令。无论我使用的是windows命令提示符还是MSYS,我总是得到以下错误C:\DiscoD\openssl>makeCC=i586-mingw32msvc-gccRANLIB=i586-mingw32msvc-ranlibC:\Perl64\bin\perl.exe"-I."-Mconfigdata"util\dofile.pl"\"-oMakefile"cryp

windows - 如何在 Perl 中线程安全地设置 STDOUT 编码?

根据文档,使用encoding模块与threads不是线程安全的,并且自perl1.18起已弃用。我在Windows7机器上使用perl5.16。我需要将输出转换为windows866编码。尝试运行线程时,以下代码解释器崩溃。useutf8;binmode(STDOUT,':encoding(cp866)');usethreads;my$thr=threads->create(sub{print"потокработает";})->detach();sleep1;print"основнойпотоктакжеработает";如果没有binmode(STDOUT,':cp866'

windows - 使用 Perl DBI 模块或设置系统 DSN 并使用 ODBC 哪个更好?

我正在使用Perl从多个日志文件中收集数据,并将其存储到运行脚本的同一台Windows2003主机上的Oracle数据库中。使用PerlDBI模块还是设置系统DSN并使用ODBC更好? 最佳答案 DBI,或者至少是基于DBI的东西是在Perl中与数据库交互的标准方式。然后在DBI下,您可以使用直接的oracle驱动程序(DBD::Oracle)或ODBC驱动程序(恰本地命名为DBD::ODBC)。所以实际上,您使用哪一个似乎并不重要,至少对于您的代码而言。至于DBI层,我喜欢DBIx::Simple,但还有其他的。