Questions tagged «perl»

Perl是一种过程性,高级,通用,动态编程语言,以其对正则表达式和字符串解析功能的本机支持而闻名。通常,请使用此标签来回答有关Perl的问题。对于与新的(但相关的)语言Raku(以前称为“ Perl 6”)有关的内容,请使用raku标记。对于其他语言的Perl样式正则表达式,请使用regex标记;如果基于PCRE库,则使用pcre标记。

14
在Perl中,如何创建其键来自给定数组的哈希?
假设我有一个数组,而且我知道我会做很多“该数组是否包含X?” 检查。执行此操作的有效方法是将数组转换为哈希,其中的键是数组的元素,然后您可以说if($ hash {X}){...} 有没有简单的方法可以执行此数组到哈希的转换?理想情况下,它应该足够通用以接受匿名数组并返回匿名哈希。
80 arrays  perl  hash 



5
如何将CPAN用作非root用户?
我想在没有root访问权限的共享服务器上安装perl模块。我怎样才能做到这一点?他们似乎还具有较旧的CPAN版本(运行该命令时会抱怨),是否可以从我的帐户更新正在使用的CPAN命令而无需root访问权限?
80 perl  cpan 

13
主机没有pg_hba.conf条目
尝试使用DBI进行连接时出现以下错误 DBI connect('数据库= chaosLRdb;主机= 192.168.0.1;端口= 5433','postgres',...) 失败:致命:主机“ 192.168.0.1”,用户“ postgres”,数据库“ chaosLRdb”,SSL关闭的主机没有pg_hba.conf条目 这是我的pg_hba.conf文件: # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 host all postgres 127.0.0.1/32 trust host all postgres …

9
如何使用正则表达式删除括号内的文本?
我正在尝试处理一堆文件,然后需要进行修改以删除文件名中的无关信息;值得注意的是,我正在尝试删除括号内的文本。例如: filename = "Example_file_(extra_descriptor).ext" 我想对一整堆文件进行正则表达式,其中括号表达式可能在中间或结尾,并且长度可变。 正则表达式是什么样的?首选Perl或Python语法。
77 python  regex  perl 

13
在Perl中自动获取foreach循环中的循环索引
如果我在Perl中有以下数组: @x = qw(a b c); 然后使用进行遍历foreach,然后$_引用数组中的当前元素: foreach (@x) { print; } 将打印: abc 是否有类似的方法来获取当前元素的索引,而无需手动更新计数器?如: foreach (@x) { print $index; } 在哪里$index更新$_以产生输出: 012
77 perl  foreach 


9
是否有Perl快捷方式来计算字符串中的匹配数?
假设我有: my $string = "one.two.three.four"; 我应该如何处理上下文以获取模式找到匹配项的次数(3)?可以使用单线吗? 我尝试了这个: my ($number) = scalar($string=~/\./gi); 我以为通过加括号$number,可以强制使用数组上下文,使用scalar可以得到计数。但是,我得到的只是1。
76 arrays  regex  perl  perl4 




10
Perl:if(list中的元素)
我正在寻找列表中某个元素的存在。 在Python中有一个in关键字,我会做类似的事情: if element in list: doTask Perl中是否有等效的东西,而不必手动遍历整个列表?
75 perl  arrays 

5
文本处理-Python vs Perl性能[关闭]
这个问题不太可能帮助将来的访客。它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 8年前关闭。 这是我的Perl和Python脚本,可以对大约21个日志文件进行一些简单的文本处理,每个日志文件大约300 KB到1 MB(最大)x重复5次(总共125个文件,由于日志重复了5次)。 Python代码(修改为使用已编译re和using的代码re.I) #!/usr/bin/python import re import fileinput exists_re = re.compile(r'^(.*?) INFO.*Such a record already exists', re.I) location_re = re.compile(r'^AwbLocation (.*?) insert into', re.I) for line in fileinput.input(): fn = fileinput.filename() currline = line.rstrip() mprev = exists_re.search(currline) if(mprev): xlogtime = mprev.group(1) mcurr = location_re.search(currline) if(mcurr): print fn, …

6
如何卸载通过cpan安装的Perl模块?
我正在使用在用户空间(不是通过root用户安装)中运行的Perl,并通过命令行安装模块cpan。我想知道是否有一种简单的方法可以删除模块,而无需进行大量删除单个文件的工作。 我在互联网上搜索了这个问题,并找到了一些答案,但是我发现的答案似乎要么是在使用Perl软件包管理器(特定于Microsoft Windows)讨论,要么是特定于操作系统(BSDpan),建议使用cpanplus(我曾经有过几次糟糕的经历,或者最后指出了一个无效链接,如下所示:http://www.cpan.org/misc/cpan-faq.html#How_delete_Perl_modules。 我的问题特别是是否存在一种干净的方法来删除通过安装的模块cpan。
74 perl  module  cpan 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.