我想寫一個perl腳本,它能夠區分我的驅動器的不同標籤到特定的驅動器,然後在該驅動器中執行某些操作。
我在Windows XP計算機上運行Active Perl 5.16.3.1603。perl意外的拆分行爲
這裏是我寫的:
use strict;
$_ = `fsutil fsinfo drives`;
my @drives = split;
my @labels;
for (@drives)
{
push @labels, `label $_`;
}
for (@labels)
{
print "$_\n";
}
的在端部線圈是打印支票。
我沒有得到任何結果。我試圖檢查它以另一種方式:
use strict;
$_ = `fsutil fsinfo drives`;
print;
print "\n";
print join "\n", split;
我的結果是:
Drives: C:\ D:\ E:\ G:\
Drives:
C:\ D:\ E:\ G:\
爲什麼分裂行爲不應該的方式?
我試圖做split " "
,split//
和split /\s+/
。
它們都以相同的輸出結束。
如果有人知道它發生的原因以及如何讓它消失,請分享。
在此先感謝。
https://eval.in/91580看起來沒問題。 –
當我試圖手動把字符串放在$ _中時它工作。 $ _ =「驅動器:C:\\ D:\\ E:\\ G:\\」 –
執行'fsutil fsinfo drives'輸出的十六進制轉儲以確保您獲得實際空間字符。 – DavidO