✔ 最佳答案
1、
因為您是直接將整個陣列的內容一次印出來(print @y),
中間並沒有插入其它的分隔字元,
所以就會連成一串,
只要再加個 join 就解決了。
以下存成「split_01.pl」或到這裡下載完整的程式碼:
http://www.fileserve.com/list/jPjsKRq
#------------------------------------
# split_01.pl
#------------------------------------
open(IN,"test1.txt");
open(OUT,">123.txt");
chomp(@x= );
for($i=0; $i<@x; $i++) #也可用 for($i=0; $i {
$a=@x[$i] ;
@y=split(/ /,$a);
print OUT join("\n", @y), "\n";
}
close(OUT);
close(IN);
2、
$# 代表是陣列元素個數-1,或者陣列的最後一個元素的索引值。
而且這是舊版本的寫法,在 Perl 5.10 以後將不再支援。
要取得陣列元素個數另外可使用:
scalar(@x); #轉換陣列所得到的純量變數代表的就是它的個數
或
$a = @x;
請參考:
http://perldoc.perl.org/perlvar.html