46得票12回答
在Perl中打开和读取文件的最佳方法是什么?

请注意 - 我并不是在寻找打开/读取文件的“正确”方法,或者每次都应该打开/读取文件的方式。我只是想了解大多数人使用的方式,并可能同时学习一些新方法 :) * 在我的Perl程序中,一个非常常见的代码块是打开一个文件并读取或写入它。我看到过很多种做法,而我在执行此任务时的风格也在这几年中多次...

8得票4回答
在Perl中从管道中读取未缓冲的数据

我正在尝试在Perl中从管道中读取未缓冲的数据。例如,在下面的程序中: open FILE,"-|","iostat -dx 10 5"; $old=select FILE; $|=1; select $old; $|=1; foreach $i (<FILE>) { pr...

8得票1回答
让旧的库适配Perl XS和PerlIO

我是一名XS初学者,目前正在研究修改一个使用了15年以上C库的现有XS模块(实际上,该模块基本上只是将这个库粘合在一起)。问题是,我希望能够像下面这样使用PerlIO字符串技巧: open($fh, '<', \$string); 然后将$fh传递给期望FILE的库的XS粘合剂。问...

7得票3回答
如何在Perl中将die函数的输出重定向到文件?

我想将 die 消息重定向到一个单独的文件中,这样我就可以稍后比较该文件以确定出了什么问题。 但是这段代码给我错误提示: $ cat test.pl use strict; use warnings; my $log = "msglog.log"; die $log "DEAD$!"; ...

7得票2回答
Can I get a handle to - source?

看起来在主函数中有一个名为'_<-'(不带引号)的符号,与其他看起来像句柄的东西类似:'_</usr/perl/lib/Carp.pm',例如。 有没有什么方法可以使用它? 或者如果我想读取输入源代码,是否需要使用源代码过滤器? 回复mob:我不知道调试何时被打开。在我倾...

7得票2回答
为什么这个返回 PerlIO* 的 XS 代码会有内存泄漏问题?

我正在尝试编写一些XS代码,将库的某些部分作为流接口暴露给Perl代码进行编写。下面的get_stream函数应该是一个构造函数,它准备并返回一个PerlIO对象。我认为我只需要Write和Close方法,所以我将所有其他函数槽留空。 typedef struct { struct ...

7得票1回答
从IO::File获取异常?

IO::File和IO::Socket::INET模块相比直接使用perl内置的IO函数有一些优点,例如具有显式语法以刷新句柄等。 然而,与内置的IO函数相比,它们似乎也有一些缺点。例如,据我所知,它们不能与autodie模块组合使用以引发异常,因此我发现自己不得不编写更多的样板代码来处理失...