问题标签 [fileslurp]
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.
perl - read_file 'File::Slurp' - sysopen:没有这样的文件或目录
这里有什么问题?
我正在尝试显示现有文件的内容:
我得到了错误:
文件存在,print
只执行if -e "/tmp/001.jpg"
performance - File::Slurp 更快地将文件写入 perl
我有一个 perl 脚本,我在其中写出一个非常大的日志文件。目前我用“传统”的 Perl 方式写出我的文件:
在读取文件时,我听说过很多关于File::Slurp的好消息,以及它如何极大地改善运行时。我的问题是,使用 File::Slurp 会更快地写出我的日志文件吗?我问是因为用 perl 写出一个文件看起来很简单,我不知道 File::Slurp 如何真正优化它。
perl - 多行匹配 PERL
我有一个快速的问题..
我正在尝试匹配特定的多行实例。问题是当我执行我的代码时,它只打印我编辑的内容,而不是整个文件。
例如。这是我的输入:
我的目标是获得:
所以基本上我只是想把数据弄到一行JJJ
或一个或多个大写字母的任何其他变体。
但是,当我这样做时,我只会得到这个:
我只得到那个,只有那个,而不是文件中我需要的其他信息。我知道有一个简单的解决方案,但我很陌生perl
,无法完全弄清楚。
这是我的代码,也许你们中的一些人会有建议。
任何帮助都会很棒。我知道我只是在告诉程序打印“已捕获”,但我不知道如何让它打印文件的其余部分并将线条啜饮到所需的位置。
我希望我的问题有意义并且不难理解,如果我可以进一步询问,请告诉我。
perl - File::Slurp 成多 GB 标量 - 如何有效拆分?
我有一个要在 Perl 中处理的多 GB 文件。逐行读取文件需要几分钟;通过 File::Slurp 将其读入标量需要几秒钟。好的。现在,处理标量的每条“线”的最有效方法是什么?我想我应该避免修改标量,例如在处理它时删除每个连续的行,以避免重新分配标量。
我试过这个:
这是次分钟:足够但不是很好。有没有更快的方法来做到这一点?(我的记忆力比上帝还多。)
regex - perl 中的正则表达式替换
在文件中找到的所有创建表 ddls 中,我有一个字符串需要在分号(;)之前插入。
输出将是:
现在文件中有多个create table ddls,还有其他ddls,如创建目录、模式、视图等。我只希望插入的字符串仅用于create table stmt。
我尝试了以下方法:
changeddl
然后我用一个文件(其中包含 ddl,但它不起作用。)调用调用。请帮助。
perl - 使用 File::Slurp 读取 UTF8 文件
我尝试使用 Perl 模块File::Slurp读取 HTML 文件:
但是当我打印$htmlcontent
变量时,由于法语口音或特殊字符,某些字符无法理解。
例如:"Plus d'actualit\u00e9s"
应该是"Plus d'actualités"
我还检查了文件的编码,没关系!
这个模块有问题吗?
谢谢
arrays - 如何将jq中的对象序列组合成一个对象?
我想转换对象流:
成一个对象:
另外,如何将相同的序列包装到数组中?
可悲的是,该手册严重缺乏全面性,谷歌搜索也找不到答案。
perl - Perl6::数据的啜饮
有人可以使用 DATA 文件句柄发布 Perl6::Slurp 的参考示例吗?
失败。
java - 我的 slurp 方法中的 IOException 有什么问题?
我正在制作一个 slurp 方法,它本质上接受一个文件并将其内容作为字符串返回。
我不断收到异常错误,我不知道为什么。我不知道我是否抛出了错误的异常,但我需要帮助解决我收到异常的原因,因为我很难理解它们。错误追溯到该行
在 try { } 下方。
错误说明了什么:
perl - Perl:将哈希作为子哈希添加到简单哈希
我看了另外两个似乎与此有关的问题,但它们有点迟钝,我无法将它们与我想做的事情联系起来,我认为这更简单。我也认为这将是一个非常常见的问题/任务的更清晰的陈述,所以我发布这个是为了像我这样的其他人的利益。
问题:
我有 3 个文件,每个文件都是一key=value
对列表:
设置1.ini
设置2.ini
设置3.ini
毫不奇怪,我想将这些key=value
对读入哈希以对它们进行操作,所以...
我有文件名的哈希:
我可以像这样遍历文件名:
好的。
现在我想将key=value
每个文件中的对列表添加到哈希中,作为每个“顶级”文件名键下的子哈希,这样我就可以像这样遍历它们:
换句话说,我想向散列添加第二级,以便它从只是(在伪术语中)单层值列表:
成为一个多层值列表:
在哪里:
将打印值
作为旁注,我正在尝试成对File::Slurp
阅读。key=value
在单级哈希上执行此操作很好:
但是 - 重新表述这整个问题 - 我真正想做的是将新的哈希key=value
对“嫁接”到现有的文件名哈希上“在”顶部$file
键作为“子/分支”子哈希。
问题:
- 我该怎么做,如何像这样一次构建一个多层哈希?
- 我可以这样做而不必预先将哈希定义为多层吗?
我use strict;
和所以我看到了
我不完全理解...
编辑:
感谢Timur Shtatland、Polar Bear和Dave Cross的精彩回答。在精神上分析您的建议时,我突然想到我在最初的问题中有些不一致,从而稍微误导了您。我道歉。我也想我现在明白为什么我看到了“严格的裁判”错误。我做了一些改变。
请注意,我第一次提到文件名的初始哈希是正确的。但是,随后循环的 foreach 示例%files
是不正确的,因为我从file1
用作第一个文件键变为settings1.ini
用作第一个文件键。我认为这就是 Perl 抛出strict refs
错误的原因——因为我试图将键从初始字符串更改为指向子哈希的 hash_ref(反之亦然)。
我理解正确吗?