草庐IT

language-perl

全部标签

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

java - 全部打包! Perl, python, java 为天真的用户(在 windows 中)

我有几个用perl、python和java编写的脚本(包装在javaGUI下,系统调用perl和python)。我有许多不懂技术的用户需要在他们的Windows机器(xp和7)中使用它。为了避免用户安装perl、python和java,并避免这些解释器的各种版本之间潜在的不兼容,我想在一个文件夹中制作这些解释器的本地副本,然后调用它们。我会压缩整个文件夹(其中也包含我的代码)并将其发送出去。我不得不担心环境变量并调用正确的解释器(特别是当其他版本的python、java、perl可能存在于他们当前的系统中时),但不确定我可能面临的其他问题。有更好的想法吗?我从未使用过jython,也不

windows - Perl 内存不足

我有一个脚本可以读取两个csv文件并比较它们以查明出现在一个文件中的ID是否也出现在另一个文件中。我收到的错误如下:Outofmemoryduring"large"requestfor67112960bytes,totalsbrk()is348203008bytes现在是代码:usestrict;useFile::Basename;my$DAT=$ARGV[0];my$OPT=$ARGV[1];my$beg_doc=$ARGV[2];my$end_doc=$ARGV[3];my$doc_counter=0;my$page_counter=0;my%opt_beg_docs;my%beg

用于安装多个 perl 模块的 Windows 批处理文件 - 仅运行第一行

我在Windows上安装Bugzilla,checksetup.pl要求我通过运行ppm(Perl包管理器)命令来安装一堆模块,如下所示:C:\>ppminstallTimeDate这会正确运行,并安装TimeDate模块。我以前没有做过太多命令行工作,但我认为现在是尝试的好时机。所以我制作了一个名为PerlModules.bat的批处理文件:ppminstallChartppminstallTemplate-GDppminstallMIME-toolsppminstallXML-TwigppminstallPatchReaderppminstallperl-ldapppminstal

windows - 需要在 Windows 中使用 perl 删除所有空子目录

while(defined($name=readdir$dh)){nextunless-d"$root/$name";$dir=$root.$name."/";if(is_folder_empty($dir)){print"$dirisEmpty\n";print"Doyouwanttodeleteit?1-Yes2-No\n";$aa=;chomp$aa;if($aa==1){$deleteregdir="$dir";rmdir$deleteregdir;print"Directoryhasbeendeleted!!\n";}}else{print"$dirisNOTEmpty\n"

windows - 如何使用系统 (Windows) 从 Perl 调用子目录中的脚本

我有一个基本目录,称之为MAIN和两个子文件夹,SCRIPTS和WORK。使用以下代码行时,脚本调用作业并运行它,仅当job_name位于MAIN文件夹中时,然后将输出或错误打印到WORK文件夹中的job_name.out/.err。system("$job_name>./WORK/$job_name.out2>./WORK/$job_name.err");如果我将作业移到SCRIPTS中,那么我似乎无法找到一种有效/简单的方法来调用它。我认为类似于以下代码的东西会起作用:system("SCRIPTS/$job_name>./WORK/$job_name.out2>./WORK/$j

eclipse - Eclipse开普勒中的"EPIC requires a Perl interpreter"

我已经安装了EclipseKepler和EPIC、Java开发工具包和ActivePerl。当我创建一个Perl脚本并尝试以Perl本地方式运行它时,出现错误Tooperatecorrectly,EPICrequiresaPerlinterpreter我不明白这是为什么。我会因为安装了ActivePerl而出错吗?为什么我的Perl解释器没有被EPIC检测到?我从thebetashere安装了EPIC.我转到Help/Installnewsoftware/Add然后输入此链接并按照说明进行操作。然后我的Eclipse也重启了由于上述错误,我仍然无法运行Perl脚本。

windows - 在命令提示符下从 PATH 文件夹运行 perl 脚本

我想运行位于PATH目录中的perl脚本。现在命令提示符不会在PATH目录中搜索参数。它只搜索当前目录中的文件。C:\Users\dg>echo%PATH%...;C:\Users\dg\abcC:\Users\dg>dir/a-d/babcabc.plC:\Users\dg>perlabc.plCan'topenperlscript"abc.pl":Nosuchfileordirectory任何解决方案或解决方法? 最佳答案 如果正确安装了Perl,只需abc.pl即可。注意,如果你使用perlabc.pl,bash也不会搜索ab

regex - 使用 perl 增加文本文件中的数字

我想通过使用perl向所述文件中包含的所有数字添加静态偏移量来从命令行批处理文本文件。例如,如果文件包含以下行:AN_IDENTIFIER_TOKEN=1,并且偏移量为19,则应将此行转换为AN_IDENTIFIER_TOKEN=20,我尝试使用perl-pe's/(\d+)$/19+$1/e'file1.txt但确实产生了与输入相同的输出(数字没有改变).传递给perl的正确命令是什么?在Windows上使用ActiveStatePerl5.24.1。 最佳答案 应该可以,试试这个:perl-pe"s/(\d+)/19+$1/eg