问题标签 [perl-io]
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 - 在 Perl 中打开和读取文件的最佳方法是什么?
请注意 - 我不是在寻找打开/读取文件的“正确”方式,或者我每次都应该打开/读取文件的方式。我只是想知道大多数人使用什么方式,也许同时学习一些新方法:)*
在我的 Perl 程序中,一个非常常见的代码块是打开一个文件并读取或写入它。我见过很多这样做的方法,多年来我执行这项任务的风格已经改变了几次。我只是想知道最好的(如果有最好的方法)方法是什么?
我曾经打开过这样的文件:
但我认为这有错误捕获的问题。
添加括号似乎可以修复错误捕获:
我知道您也可以将文件句柄分配给变量,因此我可以使用 $input_filehandle 而不是像上面那样使用“INPUT_FILE”——这样更好吗?
对于读取文件,如果文件很小,像这样的通配有什么问题吗?
或者
或者你应该总是循环遍历,像这样:
我知道在 perl 中有很多方法可以完成任务,我只是想知道是否有在文件中打开和读取的首选/标准方法?
perl - 为什么我的代码生成程序会出现此语法错误?
我想通过在 Perl 中使用文件处理来生成一些 Perl 代码行,例如:
但是当我编译生成器代码(不是生成的)时,我得到了这个错误:
我要做什么?
perl - 需要在 Perl 中打印最后一次出现的字符串
我在 Perl 中有一个脚本,用于搜索配置文件中的错误,但它会打印出任何出现的错误。我需要匹配配置文件中的内容并仅在上次发生错误时打印出来。有任何想法吗?
哇...我没想到会有这么多回应。我应该更清楚地说明这是用于向 Nagios 发送警报的 Windows 框上的日志监控。这实际上是我的第一个 Perl 程序,所有这些信息都非常有帮助。有谁知道我如何在 wintel 盒子上应用这个任何尾部答案?
perl - 如何在 Perl 中正确访问环境变量?
Perl 代码
所有四个标志都是设置的环境变量的名称(我echo $flag1
从 shell 中检查过)。
这里的 if 条件总是返回 false。如果我写$ENV{flag1}
,结果为 true 并按func()
我的预期调用。
我在 if 语句中做错了什么?
perl - 如何将 die 函数的输出重定向到 Perl 中的文件?
我想将die
消息重定向到一个单独的文件,以便以后可以比较该文件以确定出了什么问题。
但是这段代码给了我错误:
我不想2>
从调用者那里做一个。有没有办法从脚本中重定向它们?
perl - 如何测试 PerlIO::fse 是否适用于文件测试运算符?
这会打印 2 次OK
;我想这是因为 Perl 在$dir
内部存储为 utf8。
我有办法检查PerlIO::fse是否对文件测试运算符有影响,只要 perl 和文件系统存储在utf8
?
编辑:
也许我还没有完全理解它是如何PerlIO::fse
工作的——在这个例子中我看不到任何效果PerlIO::fse
:
perl - 如何在不“安装”的情况下链接 PerlIO Perl 包
我正在尝试将 PerlIO::eol 包添加为我的项目的一部分而不安装它,这样所有依赖项都可以与我的脚本一起打包,而无需在每台机器上重新安装它们。我该怎么做PerlIO::eol 我不明白结构和重要文件在哪里
linux - 在 Perl 中从管道中读取无缓冲数据
我正在尝试从 Perl 的管道中读取未缓冲的数据。例如在下面的程序中:
iostat 每 10 秒(五次)吐出数据。你会期望这个程序做同样的事情。但是,它似乎会挂起 50 秒(即 10x5),之后它会吐出所有数据。
我怎样才能返回任何可用的数据(以无缓冲的方式),而无需一直等待 EOF?
PS 我在 Windows 下看到了很多对此的引用——我在 Linux 下这样做。
perl - 如何在 Perl 中创建一个新文件?
我在变量$a
, $b
,中存储了一些值$c
。现在我必须将这些值加载到新文件中(创建文件并加载)。我是 Perl 的新手,我该怎么做?