我正在學習perl並編寫腳本以將腳本的目錄樹中的所有內容輸出到文件中。問題是在文本文件中,儘管我包含「\ n」,但整個輸出仍在一行中。我將保存代碼打印到控制檯,然後在那裏獲得所需的結果,這是每行一個條目。在perl中寫入新行到文件
#!/usr/bin/perl -w
use Cwd;
use File::Find;
use strict;
my $file = "temp.txt";
my $dir = getcwd;
unless (open FILE, '>>' . $file) {
die "\nUnable to create $file\n";
}
find(\&print_type, $dir);
sub print_type {
if (-f) {
print FILE "File: " . "$_\n";
print "File: " . "$_\n";
}
if (-d) {
print FILE "Directory: " . $_ . "\n";
print "Directory: " . $_ . "\n";
}
}
close FILE;
我也試過把\ n放在「Directory:」之前,那也沒有用。
適用於我,你在哪個操作系統上? – chrsblck 2013-04-24 23:01:48
你忘了你追加到'temp.txt'而不是覆蓋它嗎?所以它可能看起來像輸出永遠不會改變? – TLP 2013-04-24 23:03:13
我在Windows 7上,使用cygwin來運行我的腳本並用記事本++編碼。好的,所以當我在emacs中打開時,文件有新的行,而不是在Windows的記事本中。它也出現在記事本++和寫字板。這麼簡單......我一直在試圖弄清這個問題接近一個小時。謝謝您的幫助。 – Tyler 2013-04-24 23:08:39