作者frank1983 (What?)
看板Perl
标题Re: [问题] 不存在的功能?
时间Fri Apr 2 01:20:04 2010
※ 引述《abcg5 (nothing)》之铭言:
: 原本有一个object的输入是\*FILEHANDLE
: ex: $test->object(\*FILEHANDLE)
: 刚刚突发奇想!会不会有办法
: 将一个有内容的$variable (ex:$string = "hello!") 变成FILEHANDLE
: 直接丢到$test->object(\*FILEHANDLE)中
: 而跳过先把这个变数存到档案中,
: 再开档得到FILEHANDLE (毕竟这样很迂回...)
: 不过上网找了一下!
: 发现没有方面的说法! 有关filehandle都是有关联到开档动作的!
: 没有直接转换$variable变成filehandle来直接使用的办法!
: 请教一下 会不会跟本不存在这种用法??
这功能是存在的喔:-)
sub show
{
my $fh = shift;
print <$fh>;
}
my $string = "hello!";
open FILEHANDLE, '<', \$string or die "$!\n";
show(\*FILEHANDLE);
也可以写入到变数
my $string;
open FILEHANDLE, '>', \$string or die "$!\n";
print {\*FILEHANDLE} "hello!";
print $string;
请参考
1.
http://perldoc.perl.org/functions/open.html
2.
http://perldoc.perl.org/perliol.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.177.83
※ 编辑: frank1983 来自: 61.230.177.83 (04/02 01:58)
1F:推 abcg5:谢谢! 这样子程式就简短了!也变快了! 04/02 13:56