Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 使用单独的文件句柄读取使用file::Temp创建的临时文件_Perl_Temp_Filehandle - Fatal编程技术网

Perl 使用单独的文件句柄读取使用file::Temp创建的临时文件

Perl 使用单独的文件句柄读取使用file::Temp创建的临时文件,perl,temp,filehandle,Perl,Temp,Filehandle,我使用file::Temp创建了一个临时文件,并向其中添加了一些数据。在另一个时间点,我想使用单独的文件句柄读取临时文件(seek方法有效)。下面是代码片段 #!usr/local/bin/perl use File::Temp qw(tempfile); my ($fh, $filename) = tempfile( SUFFIX => '.txt' ); my $towrite = "XXXX\nYYYY\nZZZZ\n"; open ANOTHERFH, "<", $fh

我使用file::Temp创建了一个临时文件,并向其中添加了一些数据。在另一个时间点,我想使用单独的文件句柄读取临时文件(seek方法有效)。下面是代码片段

#!usr/local/bin/perl
use File::Temp qw(tempfile);

my ($fh, $filename) = tempfile( SUFFIX => '.txt' );
my $towrite = "XXXX\nYYYY\nZZZZ\n";

open ANOTHERFH, "<", $fh or die "Cannot open $FH\n";
while (<ANOTHERFH>) {
   print "ANOTHERFH: $_";
}
close ANOTHERFH;
#!usr/local/bin/perl
使用文件::Temp qw(tempfile);
我的($fh,$filename)=临时文件(后缀=>'.txt');
my$towrite=“XXXX\nyyy\nzzz\n”;
打开另一个fh,“要克隆(“dup”)系统文件句柄,语法为

open(my $fh, '<&', $fh_to_dup)          # dups into a new fd

打开(my$fh),使用
$filename
而不是
$fh

open ANOTHERFH, "<", $filename   or die "Cannot open $filename\n";

打开另一个fh,“打开
的第三个参数应该是文件名(因此
$filename
),而不是文件句柄(
$fh
)。
open(my $ANOTHER_FH, "<&", $fh)         # Avoid needless use of globals!
   or die("Can't dup temp file: $!\n");
open ANOTHERFH, "<", $filename   or die "Cannot open $filename\n";