问题标签 [perl5.8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
112 浏览

perl - 组合散列键输出(散列外连接)

我正在使用 Perl 5.8.8 分析日志文件。[1]我正在寻找公开两种触发模式中的一些的日子,可能是其中一种,也可能是两者(我在下面显示的代码片段中更改了实际模式)。我对每天的出现次数感兴趣,下一步将是制作一个电子表格,这就是为什么使用制表符进行输出格式化的原因。

因为一天中可能只出现一种模式,所以我需要一种方法来组合两个哈希的键。我通过生成一个新的哈希来做到这一点。有内置功能吗?我搜索了网络和堆栈溢出,但没有任何结果,我在这里得到的唯一结果是Build a string from 2 hashes,但在这种情况下,密钥集是相同的。

预期的输出如下所示:


[1]我知道这个 Perl 版本已经过时了。但是我很少使用 Perl,但是当我使用时,它必须运行得很快。因此,弄清楚 Perl 版本等等会在以后完成。但是 Perl 版本对于实际问题并不那么重要,至少我希望如此......

0 投票
1 回答
420 浏览

mongodb - MongoDB游标在Perl中散列

所以,我正在从 MongoDB 中检索一些值。我现在该find方法返回 a cursor,它会延迟加载查询结果。我想将游标存储为哈希,但我可以找到任何方法。当然,您可以遍历光标并自行填充,但我对自动化方式感兴趣。例如,在 Python 中,您可以这样做:myList = list(col.find())以列表的形式获取所有光标项。

是否有可能在 Perl 中做类似的事情?

0 投票
2 回答
331 浏览

perl - Perl:计算数组大小时不是数组引用

我试图解开一些遗留代码,如果它的大小大于 x(其中 x 是硬编码的 int),则对 $value 进行操作。这是它目前的样子:

与所有遗留代码一样,这个 $value 几乎可以是任何东西(散列、标量、数组),尽管它应该是不同对象的数组。这段代码目前在大约 5% 的时间出现“不是数组引用”而失败,我试图找出可能破坏它的 $value 是什么。

我认为如果 $value 未定义它可能会失败,所以我什至给了它一个 || [] 但无济于事(同样的错误):

我也想弄清楚为什么我需要@{}?我的理解是,它在列表上下文中评估 $value ,以便标量以后可以确保我得到大小。这会使代码更健壮还是我可以直接使用标量 $value?@{} 甚至做我认为它做的事吗?

我正在使用 perl 5.8。

0 投票
2 回答
82 浏览

perl - 如何从自定义模块中正确导入函数

我需要一些关于如何从 perl 中的自定义模块正确导入函数的线索。(这里是来自 PersonInit 模块的 person_init)。

这是我的文件夹表示:

这是TestObject.pl的代码

在 Person.pm 中:

在 PersonInit.pm 中:

所以当我尝试启动时,我遇到了这个错误:

在 D:\Workspace\Mapping\TestObject.pl 第 8 行调用的未定义子例程 &main::Person_Init。

0 投票
1 回答
146 浏览

perl - 如何在没有任何附加模块的情况下在迷你 Web 服务器中返回 json?

所以我的问题是我安装了 perl5.8,我无法安装任何额外的模块。(我是一名公务员,我必须使用服务器,因为它们没有任何权利或选择我可以在其上安装的内容,修改某些东西的过程需要数年时间)。

所以有一个小的网络服务器脚本:

我想返回一个像这样的json:{“Status”:“Ok”}

问候

0 投票
2 回答
586 浏览

perl5.8 - 如何在perl中用'*'替换字符串中的所有字符

如何获取正则表达式以用*替换perl中字符串中的所有字符?该字符串也有一些 utf-8 或 iso-8859-1 字符。我尝试使用“s/\w/*/g”。但它没有替换 utf-8 或 iso-8859-1 字符。

我希望所有字符都应替换为 * 即 hello 应替换为 *****。

请注意,应跳过一些特殊字符,如 -、_、\ 等。

0 投票
3 回答
69 浏览

regex - Perl 正则表达式变量替换打印 1 而不是所需的提取

情况1:

输出: 年份是 现在年份是 1!

案例二:

输出: 现在是 2020 年!目前!

有没有办法让 $year 变量只在 2020 年发生?

0 投票
1 回答
56 浏览

excel - 如何使用perl代码为A的每一列生成excel格式的输出文件,即App和Data的输出文件

这是excel格式的输入文件:

一个 C D
应用程序 1 210101 8.1
应用程序 2 210102 8.2
应用程序 3 210103 8.3
数据 4 210104 8.4
数据 5 210105 8.5
数据 6 210106 8.6

如何使用 Perl 以下列方式生成 excel 的输出文件?

输出文件 1(仅包含来自应用程序行的数据):

一个 C
1 210101 8.1
2 210102 8.2
3 210103 8.3

输出文件 2(仅包含数据行中的数据):

一个 C
4 210104 8.4
5 210105 8.5
6 210106 8.6