-
通过perl脚本过滤C?
所属栏目:[大数据] 日期:2020-12-16 热度:129
我有一个perl脚本我想在 gcc正常处理之前过滤我的cpp / h文件 – 基本上作为一个额外的预处理步骤.是否有捷径可寻?我意识到我可以将cpp文件提供给脚本并让gcc读取stdin的输出,但这对头文件没有帮助. 解决方法 处理此类过程的经典方法是将源代码(输入到Perl[详细]
-
如何从相对路径获取Perl程序的绝对路径?
所属栏目:[大数据] 日期:2020-12-16 热度:93
我需要找到我正在运行的Perl脚本的完整路径,即 对于?/ dir / my.pl我需要它为“/home/user/dir/my.pl”. $0会给我“?/ dir / my.pl”. for ./my.pl我仍然需要“/home/user/dir/my.pl” 等等谢谢! 解决方法 使用 FindBin模块: $cat /tmp/foo/bar/baz/quux/p[详细]
-
如何测试Perl程序是否从我的测试套件编译?
所属栏目:[大数据] 日期:2020-12-16 热度:93
我正在为一些Perl脚本构建回归系统(而不是单元测试). 该系统的核心组成部分是 `perl script.pl @params 1stdoutfile 2stderrfile`; 但是,在实际处理脚本的过程中,它们有时不会编译(Shock!).但是perl本身会正确执行.但是,我不知道如何在stderr上检测Perl是否[详细]
-
如何在Perl中打印匹配的行和接下来的三行?
所属栏目:[大数据] 日期:2020-12-16 热度:154
我需要搜索一个模式,然后将该行以及接下来的3行写入文件(FILE).这是一个正确的方法吗?谢谢. print FILE if /^abc/;$n=3 if /^abc/;print FILE if ($n-- 0); 解决方法 我喜欢..操作符: perl -ne 'print if (/abc/ and $n=3) .. not $n--' 但是你没有描述如[详细]
-
如何使用Perl对平面文件进行全文搜索搜索?
所属栏目:[大数据] 日期:2020-12-16 热度:99
我们有一个基于Perl的Web应用程序,其数据源自庞大的平面文本文件库.这些平面文件放在我们系统的目录中,我们广泛地解析它们将信息插入 MySQL数据库,然后将这些文件移动到它们的归档存储库和永久主页(/www/website/archive/*.txt).现在,我们不会解析这些平面文[详细]
-
perl – 在调用模块方法时传递的模块引用
所属栏目:[大数据] 日期:2020-12-16 热度:51
我有一个名为fetch.pl的perl脚本和一个名为My_Util.pm的模块. My_Util.pm package My_Util;sub get_header{ my $msg = shift; return " ===== $msg ===== ";}1; # Perl modules must return a true value when loaded. fetch.pl use My_Util;print_and_log(M[详细]
-
perl – 学习元素的顺序
所属栏目:[大数据] 日期:2020-12-16 热度:68
我想找到一种有效的方法(最好是在Perl中)通过比较它们在组的多个子集中的顺序来学习单词族的固定顺序. (它们是工作参数.大约有30种不同的工作参数.不同的工作需要不同的参数组合,并且每个工作中只有一些参数) 例如,给定: firstsecondthirdsixthseventhtenth[详细]
-
perl6 – 如何匹配Perl 6正则表达式中相同数量的不同原子?
所属栏目:[大数据] 日期:2020-12-16 热度:86
应该很简单,但我无法应付它. 我想匹配与bs完全相同的数量.所以,以下 my $input = 'aaabbbb';$input ~~ m:ex/ ... /; 应该产生: aaabbbaabbab UPD:以下变体不起作用,可能是因为:@smls’s answer中提到的:ex bug(但更可能是因为我犯了一些错误?): my $in[详细]
-
perl6 – 如何控制线程数?
所属栏目:[大数据] 日期:2020-12-16 热度:159
#The @url.elems = 10000 for @url - $url { start { say $url; sleep(1); } } 如何控制线程数? 解决方法 在回答问题之前:您显示的代码会丢失由start返回的Promise.你可能想要: await do for @url - $url { start { say $url; sleep(1); }} 这将等到所有[详细]
-
Perl xor返回意外结果
所属栏目:[大数据] 日期:2020-12-16 热度:101
这里发生了什么?为什么不是$c == 1? $cat y.pl#!/usr/bin/perl$a = 0;$b = 1;$c = $a xor $b;print "$a ^ $b = $cn";$./y.pl 0 ^ 1 = 0 解决方法 一直用 use strict;use warnings qw( all ); 它会检测到您的优先问题. Useless use of logical xor in void[详细]
-
为什么Perl不会在另一个名称空间中使用未声明的变量时发出警告
所属栏目:[大数据] 日期:2020-12-16 热度:193
如果我使用未声明的变量,我在Perl脚本中使用strict和warning来通知我.因此,解释器将在以下scriptlet中警告$foo未声明: #!/usr/bin/perluse warnings;use strict;$foo = 'bar';print ($foo); 但是,如果我在另一个命名空间中使用未声明的变量,我不会被警告.以[详细]
-
perl – 在不使用require的情况下确定模块的绝对路径
所属栏目:[大数据] 日期:2020-12-16 热度:57
在某些情况下,您需要确定Perl的绝对路径名 模块,但您不需要加载Perl模块: use strict;use warnings;my $mod_name = 'My::Module';my $abs_path = mod_name_to_abs_path( $mod_name );sub mod_name_to_abs_path { my ( $mod_name ) = @_; my $rel_fn = $mod_[详细]
-
perl – ‘ne’在do-while循环中不起作用,而’!=’起作用
所属栏目:[大数据] 日期:2020-12-16 热度:142
我不确定我犯的是什么错误,但我只是将ne改为!=并且它有效. 这是一个简单的程序,让用户猜出一个数字,直到他们达到目标数字. #!/usr/bin/perlmy $guess = 1;do { $guess = STDIN;} while ( $guess != 12 ) ; # it doesn't work if i replace != with nesay "y[详细]
-
perl – 如何解决警告“使用赋值给$[已弃用”?
所属栏目:[大数据] 日期:2020-12-16 热度:92
我有一个程序,我从较旧的计算机下载到较新的计算机.它有以下代码片段: #!/bin/perl -wuse strict;$[ = 1; # set array base to 1$,= ' '; # set output field separator$ = "n"; # set output record separator 但是,当我尝试运行该脚本时,我收到以下错误[详细]
-
为什么Perl中的system()结果不是我脚本的确切退出代码?
所属栏目:[大数据] 日期:2020-12-16 热度:130
参见英文答案 Why is Perl’s $? returning the wrong value for the exit code of a forked process?????????????????????????????????????2个 我有以下perl脚本(test.pl): my $exit_code = system('./test.py');print $exit_code."n"; 试图从python可执[详细]
-
修改$_的Perl函数
所属栏目:[大数据] 日期:2020-12-16 热度:185
我正在尝试在我的代码中扩展隐式$_(全局“主题”变量)的使用. Perlmonks在没有显式变量的情况下接受$_的函数有 this (outdated?) article. 我遇到的问题是我不知道哪些函数设置$_.我知道至少map,grep和for / foreach会改变$_的值,但我认为必须有更多.关于$_[详细]
-
Perl中的函数参数分隔符?
所属栏目:[大数据] 日期:2020-12-16 热度:60
函数参数通常用逗号(,)分隔,但在某些情况下似乎也是空格,比如print FILEHANDLE’chain’.为什么这两个分隔符都是必需的? 解决方法 print是特殊的内置Perl函数,具有特殊的语法规则. Documentation列出了四种可能的调用: print FILEHANDLE LISTprint FILEHAN[详细]
-
从Perl中的JSON-String解码哈希
所属栏目:[大数据] 日期:2020-12-16 热度:168
为什么这不起作用? my $myHashEncoded = encode_json %myHash;my %myHashDecoded = decode_json($myHashEncoded); 我收到错误: Reference found where even-sized list expected at ... 所以我改成了: my $myHashEncoded = encode_json %myHash;my $myH[详细]
-
数组 – 为什么我的第一个哈希值在Perl中消失了?
所属栏目:[大数据] 日期:2020-12-16 热度:82
为什么哈希在打印输出时删除第一个值apple:2? use warnings;use strict;use Data::Dumper;my @array = ("apple:2","pie:4","cake:2");my %wordcount;our $curword;our $curnum;foreach (@array) { ($curword,$curnum) = split(":",$_); $wordcount{$curnum[详细]
-
perl – 文件打开错误 – 全局符号“$infilename”需要显式包名
所属栏目:[大数据] 日期:2020-12-16 热度:50
我正在编写我的第一个perl脚本,无法编译它.我想读取一个文件,并将符合正则表达式条件的每一行输出到一个新文件.我得到一个“全局符号需要显式包名称”错误,这似乎与我读过的可变范围问题有关.我无法弄清楚我的代码有什么问题. 码: #!/usr/bin/perl -wuse st[详细]
-
使用散列和散列引用的Perl速度比较
所属栏目:[大数据] 日期:2020-12-16 热度:140
我很想比较是否更好地使用哈希或引用哈希,哈希引用,因为我理解只是一个指向哈希本身的指针,所以我认为应该没有速度差异. 我做了一个基本的基准测试,我发现哈希引用比使用哈希直接平均速度慢20-27%. 这是我使用的基本基准代码: use Benchmark qw(:all);cmpt[详细]
-
perl – 如何将__DATA__读入数组,以便每个单词都有自己的索引?
所属栏目:[大数据] 日期:2020-12-16 热度:135
我正在尝试使用以下代码打印字符串white和acer,但它不起作用: @a=DATA;print "$a[9] $a[14]";__DATA__one two three four five six sevenblack yellow white greenapple orange hp acer samsung 如何将__DATA__读入数组,以便白色位于索引9处,而acer位于索引[详细]
-
Perl:当我从命令行运行“perl”时没有任何反应
所属栏目:[大数据] 日期:2020-12-16 热度:184
如果我从 linux命令行自行运行perl,则没有任何反应.我看到光标向下移动一行,如果我输入print“Hello,world”;仍然没有任何反应.我可以从命令行输入任何内容吗?我知道你可以运行perl -e’print“Hello,world”’;以及如何创建perl脚本.只是想知道为什么运行p[详细]
-
如何在Perl调试器中查看表达式的更改?
所属栏目:[大数据] 日期:2020-12-16 热度:160
使用Perl调试器,我知道我可以使用b命令在某些代码行设置断点.一旦变量的内容发生变化,我可以让调试器停止吗? 解决方法 您可以使用Perl调试器中的w命令创建监视点. 关于w debugger命令的崩溃过程: 通过键入w然后创建一个将监视更改的表达式来创建一个watch-[详细]
-
perl – 使用父级’Exporter’与使用Exporter’import’;
所属栏目:[大数据] 日期:2020-12-16 热度:57
如果我使用第一个例子而不是第二个例子,我会得到什么? package Some::Module;use strict;use 5.10.1;use parent 'Exporter';our @EXPORT_OK = qw(some_func); package Some::Module;use strict;use 5.10.0;use Exporter 'import';our @EXPORT_OK = qw(some_[详细]
