作者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