2012-09-16 37 views
2

如何創建IO::All對象來讀取文件句柄ARGV和DATA?IO :: All:我如何從ARGV和DATA讀取數據?

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 
+1

我花了一個小時左右的URL和Perl手冊,但我無法找到任何幫助。 –

+0

[提交錯誤](http://rt.cpan.org) – pilcrow

回答

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; 

Please file a bug