我使用perl根據cygwin
。這是我想要做的。我想列出一個目錄下的所有文件夾到一個數組中,然後以字符串形式打印出來,以便得到以下結果。如何在perl之後刪除ls後的換行符?
讓,工作路徑是/user/
。在路徑內
文件夾爲:
/user/A
/user/B
/user/C
我想:
perl foo
/user/A /user/B /user/C
我有以下代碼:
my @folderList = `ls /user`;
foreach (@folderList) {
print "$_ ";
}
print "\n";
但,結果是:
$ perl foo
/user/A
/user/B
/user/C
$
我的問題:
如何刪除存儲在數組內的每個結果的換行符?我試過chop()去除最後一個字符,但它不工作。
對不起,我修復了代碼。由於我原來的功能有點複雜,所以我只是弄清楚它的一部分,這樣我就可以更容易地逐步解決我的問題了〜「〜 – sflee 2015-03-31 02:30:38
好的,所以......如果我把'chop'在循環中,在'print'$ _「;'之前,你的代碼適用於我,我已經給出了你應該寫的東西的答案,但是我想明白爲什麼'chop'不適合你。你究竟是怎麼使用它的? – zwol 2015-03-31 02:45:11
@zwol'chop'將刪除字符串中的最後一個字符,不管它是什麼。除了明顯的問題,Windows使用兩個字符作爲換行符,所以它是不可移植的。我不確定Cygwin命令使用什麼,可能是單個字符Unix新行。 – Schwern 2015-03-31 03:43:54