-
perl – 如何使用Lazy属性和Coro来预防Moose中的种族状况
所属栏目:[大数据] 日期:2020-12-16 热度:108
我们正在开发的项目利用Coro进行异步处理,不幸的是,它太大了,不能在不久的将来离开Coro.我们遇到了竞争条件,其中具有lazy属性的对象调用构建器中的该延迟属性的构建器,线程由于某种原因而放弃,然后不同的coro线程尝试访问触发要再次构建的属性的相同属性. 通[详细]
-
在Perl中测试SUPER ::方法的分支分配
所属栏目:[大数据] 日期:2020-12-16 热度:59
我即将完成研究 Intermediate Perl书. 在第18章中,Object Destruction引入了以下DESTROY方法定义: # lib/Animal.pmpackage Animal { # ... sub DESTROY { my $self = shift; if ($self-{temp_filename}){ my $fh = $self-{temp_fh}; close $fh; unlink $sel[详细]
-
语法 – 是否有Perl6规范形式?
所属栏目:[大数据] 日期:2020-12-16 热度:108
Perl6标准语法相对较大.虽然这有助于一旦掌握了表达,但它创造了掌握的障碍.例如,核心构造通常具有支持不同编程范例的多种形式.一个基本的例子是用于创建 Pairs的各种语法: Pair.new('key','value'); # The canonical way 'key' = 'value'; # this... :keyva[详细]
-
perl – 为什么$class-> SUPER :: new在使用多重继承时不调用
所属栏目:[大数据] 日期:2020-12-16 热度:56
我试图在Perl中使用多继承,但我无法弄清楚如何从子构造函数调用多个父构造函数. A.pm: package A;use Carp qw (croak);use strict;use warnings;sub new { my $class = shift; print "This is A newn"; my $self-{DEV_TYPE} = shift || "A"; bless($self,$[详细]
-
我应该从自己的perl模块中读取ARGV
所属栏目:[大数据] 日期:2020-12-16 热度:67
我的Perl从(多个)日志文件中提取和处理数据,当前正在处理@ARGV中的所有文件. 这个脚本最重要的部分是日志解码本身,它结合了很多关于日志文件格式的知识.这个转换部分来自log(实际上是一个散列数组)已被证明是变化的主题(随着日志格式的发展),并成为进一步处[详细]
-
arrays – Perl:删除数组项并调整数组大小
所属栏目:[大数据] 日期:2020-12-16 热度:56
我正在尝试使用Perl中的另一个数组来过滤一个术语数组.我在OS X上有Perl 5.18.2,但如果我使用5.010,行为是相同的.这是我的基本设置: #!/usr/bin/perl#use strict;my @terms = ('alpha','beta test','gamma','delta quadrant','epsilon','zeta','eta','theta[详细]
-
perl – 无论如何,都会认为字符串重载变量已定义
所属栏目:[大数据] 日期:2020-12-16 热度:102
我的脚本中有以下几行: my $spec = shift;if (!defined $spec) { return ("Invalid specification",undef);}$spec = "$spec" // ''; 我自然希望这会在传递undef时返回数组中的警告Invalid specification,第二项是undef.相反,检查通过,我得到一个控制台消息[详细]
-
Perl可以检测浮点数是否已被隐式舍入?
所属栏目:[大数据] 日期:2020-12-16 热度:69
当我使用代码时: (sub { use strict; use warnings; print 0.49999999999999994;})-(); Perl输出“0.5”. 当我从数字中删除一个“9”时: (sub { use strict; use warnings; print 0.4999999999999994;})-(); 它打印0.499999999999999. 只有当我删除另外9个[详细]
-
perl – 引用相等的字符串
所属栏目:[大数据] 日期:2020-12-16 热度:194
在Perl中,如果我创建两个对数组元素的引用,则两个指针是相等的. my $ref1 = $array[0];my $ref2 = $array[0];print "$ref1n$ref2"; 这同样适用于对存储字符串的变量的两个引用,这些指针是相等的. 如果我创建两个存储相等字符串的变量,则引用不相等. 为什[详细]
-
perl socket:如果在使用中增加端口
所属栏目:[大数据] 日期:2020-12-16 热度:184
我有以下代码: use IO::Socket::INET;use Sys::Hostname;use Socket;my($addr)=inet_ntoa((gethostbyname(hostname))[4]);my $port_to_use = 7777;my $socket = new IO::Socket::INET ( LocalHost = $addr,LocalPort = $port_to_use,Proto = 'tcp',Listen =[详细]
-
当文件由另一个程序写入时,是否可以使用perl / ajax逐行读取文件
所属栏目:[大数据] 日期:2020-12-16 热度:183
它类似于这里提出的问题. How to read from file line by line using ajax request while file is written by other program using java?我有一个文件,它将填充从远程机器生成的命令行输出.我想做的是每次在文件中写入内容时,我想使用perl(或javascript但我[详细]
-
perl – 组件中Mason块的执行顺序是什么
所属栏目:[大数据] 日期:2020-12-16 热度:122
如果这些块存在于Mason组件中,那么执行顺序是什么? %args %init %一次 %共享 %attr %标志 解决方法 该列表中有两种不同的块. “可执行”块,包含可执行的perl代码,以及包含键值对的非可执行块(与perl哈希不同). 可执行块 %一次 This block is execute[详细]
-
Perl:如何找到已知子文件夹的父文件夹?
所属栏目:[大数据] 日期:2020-12-16 热度:181
我是Perl的新手,我在获取已知子文件夹的父文件夹时遇到了一些麻烦. 所以我有一个子文件夹列表,比方说A,B,C,D等. 我知道它们都散布在标有(例如),1,2,3,4等的文件夹中. 所以它可以是这样的: 1 / A 1 / B 2 / C 3 / d 3 / E 等等 我只是想遍历每个文件夹并找到[详细]
-
Strawberry Perl无法识别OSNAME的特殊变量
所属栏目:[大数据] 日期:2020-12-16 热度:84
我最近在运行 Windows 7的PC上将Strawberry Perl从版本5.14.1.1-32bit升级到5.24.0-64bit.我有一个perl脚本我在Windows和 Linux下运行,当我使用旧版本命令时 use if $^O eq 'MSWin32','Win32::Console::ANSI'; 工作,但现在我已升级我收到错误消息 Unrecogniz[详细]
-
perl – 关于IO :: Select的澄清
所属栏目:[大数据] 日期:2020-12-16 热度:115
我正在使用 IO::Select . 我没想到只有当我手动终止分叉进程时才会终止此代码.这是正确的行为吗? use strict;use warnings;STDOUT-autoflush();use IO::Select;open(my $ph,"-|","perl -e 'sleep 1 while 1'");my $sel = IO::Select-new();$sel-add($ph);$s[详细]
-
如何在perl中接受输出参数数组和标量?
所属栏目:[大数据] 日期:2020-12-16 热度:141
我有一个函数,我想检查路径是否存在,如果存在,将其添加到数组.这是我试过的: # If a path exists,adds the canonical version of that path to an arraysub AddPathCandidate { my (@$target,$path) = $_; die ('path needed') unless defined($path); $pat[详细]
-
PERL Net :: DNS输出到文件
所属栏目:[大数据] 日期:2020-12-16 热度:125
完全是Perl的新手(在学习过程中),需要一些帮助.以下是我发现的一些代码,可以将结果打印到屏幕上,但我希望将其打印到文件中.我怎样才能做到这一点?当我打开一个文件并向其发送输出时,我得到了垃圾数据. 这是代码: use Net::DNS;my $res = Net::DNS::Resolve[详细]
-
在请求arrayref时,perl中绑定哈希的奇怪行为
所属栏目:[大数据] 日期:2020-12-16 热度:119
我试图按照跟踪变量用法的顺序绑定哈希(或hashref). 一切都适用于简单的情况,但当我尝试在一些真正的代码上使用我的模块时,我遇到了这个错误: hash- or arrayref expected (not a simple scalar,use allow_nonref to allow this) 我使用以下代码复制了错误[详细]
-
在Perl 6中调用类中的私有方法
所属栏目:[大数据] 日期:2020-12-16 热度:187
我不能在Perl 6中的类中调用私有方法: class MyClass { method !my-private-method($var1) { # .... } method my-method() { my $my-var1 = !my-private-method(123); # not found (Undeclared routines) my $my-var1 = $!my-private-method(123); # not fo[详细]
-
perl – 当我使用格式字符串“%FT%T”和Time :: Piece-> st
所属栏目:[大数据] 日期:2020-12-16 热度:153
我想将2015-09-11T04:00:00转换为 Time::Piece对象.我试过了: my $date = "2015-09-11T04:00:00";my $t = Time::Piece-strptime($date,'%FT%T');print $t-strftime('%F %T'); 但我得到错误解析时间.我认为这是因为我正在寻找%FT%T因为间距而导致问题.我[详细]
-
perl – 在Windows上使用BOM和CRLF行分隔符创建UTF-16LE
所属栏目:[大数据] 日期:2020-12-16 热度:84
我需要在 Windows 7机器上生成一些带有CRLF行分隔符的UTF-16LE编码文件. (目前有草莓5.20.1) 在获得正确的输出之前我需要很长时间才能搞清楚,我想知道我的解决方案是否是正确的方法,因为它似乎在Perl的其他语言方面过于复杂.特别是: 为什么Perl使用正确的BO[详细]
-
如何在Perl哈希中存储null
所属栏目:[大数据] 日期:2020-12-16 热度:200
我想在我的C代码(XS)中使用Perl哈希作为一个集合,所以我只需要将密钥保存在哈希中.是否可以存储类似null或其他常量值的东西以避免创建不必要的值? 像这样的东西: int add_value(HV *hash,SV *value){ // just an example of key char key[64]; sprintf(key[详细]
-
Perl库的用法
所属栏目:[大数据] 日期:2020-12-16 热度:195
包括有条件地使用mylibrary有什么好处(w.r.t性能/内存使用)(假设mylibrary仅在条件为真时使用)与在脚本无条件地添加使用mylibrary相比? # Script 1 (Unconditional use)use mylibrary;if($condition){ # Do something with mylibrary}# Script 2 (Condition[详细]
-
perl6 – 为什么我只从这个“for”语句中获得单个元素?
所属栏目:[大数据] 日期:2020-12-16 热度:68
我试图生成包含10个具有随机质量分数的随机序列的 FASTQ files.我最初使用以下代码,工作正常: my @seq = (rand_fa_seq() for ^10);my @qual = (rand_qual() for ^10);@seq.perl.say;@qual.perl.say;sub rand_fa_seq{ return join("",roll(20,"ACGT".comb));[详细]
-
Perl JSON将所有数字视为字符串
所属栏目:[大数据] 日期:2020-12-16 热度:73
为了创建一个与严格打字语言一致的API,我需要修改所有 JSON以返回引用的字符串来代替整数,而不必逐个进行并修改底层数据. 这就是现在生成JSON的方式: my $json = JSON-new-allow_nonref-allow_unknown-allow_blessed-utf8; $output = $json-encode($hash);[详细]
