2

ファイル ハンドル ARGV と DATA を読み取る ためのIO::Allオブジェクトを作成するにはどうすればよいですか?

use strict;
use warnings;
use 5.010_000;
use IO::All;

# none of these work...
my $io = io->handle(DATA);
my $io = io->handle(\*DATA);
my $f = \*DATA;
my $io = io->handle($f);
my $io = io->handle({$f});
my $io = io->handle({DATA});
my $io = io->handle({\*DATA});

say $io->slurp();

__DATA__
FOO
BAR
QUUX
4

1 に答える 1

5

バグのように見えます。ドキュメントがそうすべきだと言っているにもかかわらず、ハンドルを渡すことはうまくいかないようです。の複雑さを排除する例を次に示しDATAます。

use strict;
use warnings;

use IO::All;

open my $fh, "<", "/etc/passwd" or die $!;

# Either of these should work according to the docs.
# my $io = IO::All->new($fh);
my $io = io->file->handle($fh);
print $io->all;

バグを報告してください

于 2012-09-16T03:38:53.700 に答える