[已解决]文件句柄放于哈希数组中 怎么使用 <> 读取?

[已解决]文件句柄放于哈希数组中 怎么使用 <> 读取?

#! /usr/bin/perl

my $out = \*STDOUT;
my $in = \*STDIN;

print $out "Please input: ";
$_ = <$in>;
print "Re: $_\n";

my %outsHash = (
        "STDOUT" => \*STDOUT
);

my %insHash = (
        "STDIN" => \*STDIN
);

print {$outsHash{"STDOUT"}} "\nPlease input: ";
$_ = <$insHash{"STDIN"}>; # 这样是不可以的
print "Re: $_\n";

my $fh=$insHash{"STDIN"};
$_ = <$fh>;
<>里面不是简单标量就会被当glob
也就是说 无法直接在 <>  使用hash等复杂的变量咯?
灵活的Perl不太灵活了



QUOTE:
原帖由 kinpoo 于 2008-1-21 20:20 发表
也就是说 无法直接在   使用hash等复杂的变量咯?
灵活的Perl不太灵活了

perldoc -f readline and google “哈夫曼编码”


QUOTE:
原帖由 flw 于 2008-1-21 20:44 发表

perldoc -f readline and google “哈夫曼编码”

谢谢

google “哈夫曼编码” 好像没有直接的关系……
答案: 你不能

Perl 支持 <FILEHANDLE> 或者是 <$scalar> .
其他的形式被解释为glob.

QUOTE:
原帖由 kinpoo 于 2008-1-21 20:20 发表
也就是说 无法直接在   使用hash等复杂的变量咯?
灵活的Perl不太灵活了