草庐IT

find2perl

全部标签

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,但还有其他的。

windows - Perl 包问题

我是Perl新手。我下载了一个perl应用程序,在源文件中有这样一行:usePWING::Utils::Utils;它似乎导入了一个文件。我下载了Eclipse[Perl-Eclipse集成]的插件。当我尝试将该文件作为perl应用程序启动时,它说找不到导入的资源。现在的问题是,perl包结构是什么样的?那一行意味着必须有一个像这样的目录结构:PWING-Utils-Utils.pm?我看到我下载的应用程序不包含这样的结构,那么应该如何启动? 最佳答案 perlmod文档状态AllPerlmodulefileshavetheexte

windows - 如何使用 Perl 快速修复大文件中的 EBCDIC 控制字符?

如果这是一个新手问题,我深表歉意。我不是Perl开发人员,但我试图在自动化过程中使用它,但遇到了麻烦。以下命令在我的Linux系统(Ubuntu9.10x64、Perl5.10)上运行很快(几秒钟),但在Windows系统(Windows2003x86、StrawberryPerl5.12.1.0)上运行速度极慢。perl-pe's/\x00\x42\x00\x11/\x00\x42\x00\xf0/sgx'inputfile>outputfile查找/替换十六进制字符的模式旨在修复大小在500MB到2GB之间的文件中的EBCDIC回车控制字符。我不确定这是否是最有效的方法,但它似乎可

windows - Perl 文件::查找 Windows 反斜杠目录路径

有没有一种简单的方法可以自动将$dir反斜杠替换为正斜杠,因为我知道的唯一方法是手动,如果路径太长会很烦人。谢谢。usestrict;usewarnings;useFile::Find;my$dir="E:\dir1\dir2\dir3\dir4\dir5";find(\&temp,$dir);subtemp{.....} 最佳答案 不太确定您要做什么,但是一个简单的正则表达式就足以将\替换为/:预计到达时间:您必须将路径放在单引号中以保留反斜杠,然后替换它们(感谢cjm指出):$dir='E:\dir1\dir2\dir3\dir