草庐IT

Perl-Starman

全部标签

sql-server - 如何在与我所在的服务器不同的服务器上运行 perl 脚本(通过 BAT 文件)?

在Windows服务器上,我有很多将数据插入sqlserver数据库的perl脚本。它们通过启动.bat文件的sql代理作业被调用一切都在一台机器上共存\\oldserver公司政策的变化要求我拆分我的系统,因此数据库在\\dbserver上,perl解释器、脚本和支持文件都在\\appserver上我必须做什么才能让我的基于\\dbserver的sql代理触发\\appserver上的.bat文件,这样每个bat文件都像在\\appserver上实际启动一样运行?(即使用安装在\\appserver上的perl,可以访问\\appserverwindows环境设置,如PERL5LIB

windows - 从通过 Windows 任务计划程序运行的 Perl 脚本生成的进程无权访问 %PATH%

我有一个Perl脚本,它使用反引号调用Windows上的程序。当我在命令提示符下运行它时,它工作正常。当我使用Windows任务计划程序运行它时,它停止工作。这是在带有ActiveStatePerl的WindowsServer2008x64上。它给我一个错误,无法识别为内部或外部命令、可运行的程序或批处理文件。一旦我将对程序的调用更改为指向程序的完整路径,它就会再次运行。因此,当它在带有反引号的任务计划中运行时,会阻止它看到Windows环境变量,特别是运行时的%PATH%变量。反引号生成的shell中可能缺少某些东西?我应该使用不同的命令来执行系统调用吗?或者是否有可以解决此问题的任

c++ - 是否可以调试包含 XS 部分的 Perl 以查看程序流程?

我有一个用Perl编写的项目,其中包含用C++编写的XS组件。我正在使用类似命令进行调试perl-dperl_file.pl如何使用调试器从Perl跳转到那些C++文件? 最佳答案 您可以使用GNU项目调试器。gdb/usr/bin/perlrperl_file.pl查看perlhacktips:UsinggdbtolookatspecificpartsofaprogramUsinggdbtolookatwhattheparser/lexeraredoing另见:GetastacktracefromyourrunningperlAp

c++ - 如何在 C++ 中实现与嵌套 Perl 散列等效的功能?

我想将一些Perl代码更改为C++。我需要知道如何在C++中实现嵌套的Perl哈希。我认为STL是一个不错的选择,并使用了map。在map的帮助下,我只能创建一个简单的散列,但我不知道如何创建嵌套的散列结构。我的Perl哈希是这样的:%foo=("bar1"=>{Default=>0,Value=>0},"bar2"=>{Default=>2,value=>5,other=>4})我可以这样修改它:$foo{"bar1"}->{"Default"}=15。我如何使用STL在C++中执行此操作?也许这是一个简单的问题,但我无法弄清楚。 最佳答案

java - 如何在 Hadoop 的 Map Reduce 中执行 perl 程序?

我有一个perl程序,它将接受一个输入文件并对其进行处理,并生成一个输出文件作为结果。现在我需要在hadoop上使用这个perl程序。因此perl程序将在存储在边缘节点上的数据block上运行,我不应该修改perl代码。我不知道如何开始。有人可以给我任何建议吗?我可以编写一个java程序,在mapper类中使用进程构建器调用perl程序并将结果合并到reducer类中吗??还有其他方法可以实现吗? 最佳答案 我相信您可以使用hadoopstreaming做到这一点。根据tomwhite,hadoop权威指南,第3版的作者。页#622

perl - 如何基于ssdeep进行聚类?

您好,我正在尝试从基于ssdeep的文件中查找组。我已经生成了ssdeep文件并将其保存在csv文件中。我在perl脚本中解析文件如下:foreach(@all_lines){chomp;my$line=$_;my@split_array=split(/,/,$line);my$md5=$split_array[1];my$ssdeep=$split_array[4];my$blk_size=(split(/:/,$ssdeep))[0];if($blk_sizene""){my$cluster_id=check_In_Cluster($ssdeep);printWFp"$cluste

perl - 使用Hadoop的有效方法来消隐在列中出现少于X次的值

更新以提示更改总键描述我需要在匿名环境中从文件的列中删除所有值,这些值出现的次数少于指定的次数。将指定多个列,这些列要求值在该列中出现超过X次,并且空白相对于一列。这意味着如果X=4并且值123在第1列中出现3次,在第4列中出现4次,则所有3次出现都必须在第1列中为空白,但在第4列中是允许的。我使用了过去半年来一直稳定的HadoopStreaming和Perl的2遍方法解决了这个问题。问题是提供了一个新文件,尽管我的过程可以处理它,但在我们的862容器(54节点)hadoop集群上处理大约需要5天。我将解释我的解决方案/方法,并要求进行适合该问题并允许优化运行时间的任何优化或替代方法。

perl - Oozie 日志上的模式匹配

使用的Oozie命令ooziejobs-ooziehttp://localhost:11000/oozie-localtime|grep"2013-05-08">Input.txtOozie日志(Input.txt)61-oozieDProSUCCEEDEDchroniclesusers2013-05-0804:472013-05-0804:5361-oozieDPRUNNINGchroniclesusers2013-05-0804:4761-oozieDProcessSuspendedchroniclesusers2013-05-0804:422013-05-0804:4861-oo

hadoop - 如何从 PIG.. 调用 perl 脚本?

任何人都知道如何从pig脚本调用perl脚本..我也想知道如何从perl调用pig..请帮我解决这个问题。谢谢,兰吉斯 最佳答案 第一个问题:“从pig调用perl脚本”最接近的结果是Pig'sstreamingcapability.文档中的示例:A=LOAD'data';B=STREAMATHROUGH'stream.pl-n5';您必须确保您的perl脚本通过标准输入接收数据并通过标准输出输出数据。这是Pig通过您正在进行的调用流式传输数据的方式。我不确定脚本应该输入和输出的数据格式是什么(您可能需要尝试一个示例)。第二个问题:

perl - 在组合器中使用管道的 Hadoop 流作业

我正在尝试像这样运行一个Hadoop流作业:yarnjar/usr/lib/hadoop-mapreduce/hadoop-streaming-2.2.0.*.jar\-filescount.pl\-input"/my_events/*.bz2"\-outputcount-events\-mapper"cut-f2,4|grepfoo|cut-f1"\-combiner"perlcount.pl-s|perlcount.pl"\-reducer"perlcount.pl"count.pl脚本是一个简单的脚本,它只对键进行计数,像这样(简化)循环输入:while(){chomp;my($