我是Perl新手,所以這可能是一個非常基本的案例,我仍然無法理解。如何將結果STDOUT打印到Perl中相同目錄中的臨時空白新文件?
案例:
程序告訴用戶輸入文件名。
用戶輸入文件名(1個或多個文件)。
程序讀取文件輸入的內容。
如果是單個文件輸入,那麼它只是打印它的全部內容。
如果它是多文件輸入,則它會按順序組合每個文件的內容。
然後將結果打印到臨時的新文件,該文件與program.pl位於同一目錄中。
FILE1.TXT:
頭
一個
b
端
FILE2.TXT:
頭
Ç
d
Ë
˚F
端
單輸入程序ioSingle.pl:
#!/usr/bin/perl
print "File name: ";
$userinput = <STDIN>; chomp ($userinput);
#read content from input file
open ("FILEINPUT", $userinput) or die ("can't open file");
#PRINT CONTENT selama ada di file tsb
while (<FILEINPUT>) {
print ; }
close FILEINPUT;
單個結果在cmd中:
>
perl的ioSingle.pl
文件名:FILE1.TXT
頭
一個
b
end
我發現,從multifiles輸入相結合的內容,但無法適應而上述論點編寫教程代碼:
while ($userinput = <>) {
print ($userinput);
}
我在使它成爲multifiles輸入工作stucked,
我怎麼想重新設置代碼所以我的程序可以給這樣的結果?
預期MULTIFILES導致CMD:
>
perl的ioMulti.pl
文件名:FILE1.TXT文件2。TXT 頭
一個
b
端
頭
Ç
d
Ë
˚F
端
感謝您的響應:)
我已經通過上面的代碼管理它。 起初,它給了我行錯誤警告'print while while $ $ filehandle;'。所以我把它重新編輯爲'print while(<$filehandle>);'然後結果最終如預期般出來。 你能告訴我,那真的很重要嗎? – ask91
這是一個錯字。我現在修好了。 –
但這裏重要的是不要只是剪切和粘貼我的解決方案。但要理解我勾勒出的設計流程,以便將來可以採用類似的流程。 –