我可能錯過了某些東西,因爲我今天開始使用Perl,所以請原諒,如果它是非常明顯的東西。Perl從文件加載時錯誤地分割字符串
我想從文件中加載字符串,然後逐字符地分割它。 我做了以下
use strict;
open my $fh, "<", "hello.txt" || die "Cannot open file!\n";
my $data = do { local $/ ; <$fh>};
print $data;
print join(', ',(split(//, $data)));
close $fh;
當我執行這個腳本的第一個打印語句打印$的數據沒有問題,但是第二打印僅打印加入字符串。
Hello, world!
,
我的Windows 7機器草莓的Perl上運行,我沒有在目前訪問的Unix/Linux機器,所以我不能在其他地方進行測試。
提示:由於您讀取了塊內的文件,因此也在此處打開它。這很好地包含(範圍)'$ fh'到該塊,並將所有相關代碼放在一起。所以,'我的$ data = do {local $ /;打開我的$ fh ...; <$fh>};'當代碼退出塊並且'$ fh'不再存在時,文件_is_關閉。 – zdim
稍微偏離主題,但可以使用VMware Player和Ubuntu映像運行Linux,而在Windows中運行Linux。 –
我會,但我現在有點懶惰設置:)。 –