作者StarTouching (撫星)
看板Perl
標題[問題] Perl學習手冊 習題5-2
時間Thu Mar 17 22:51:48 2011
chomp(my @lines = <STDIN>);
print "1234567890"x3, "\n";
foreach (@lines)
{
printf STDOUT "%10s\n", $_;
}
本來應該期許出現
1234567890123...90
ab
ak3
這樣的結果
不過我發現我讀進來的每列好像除了\n 還有個\r (大概是因為Windows的關係)
導致對齊結果會差一格。
5-3題也是遇到類似情形,
因為 chomp(my $width=<STDIO>); 無法除掉\r,
導致 "%${width}s"的寫法會失敗,
要嘛就是除掉\r,
要嘛就是改用 "%*s", $width
chomp 可以幫我幹掉\n,
那有沒有簡單的方法除掉\r?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.166.1
※ 編輯: StarTouching 來自: 111.251.166.1 (03/17 23:20)
1F:推 flamerecca:RegExp? 03/17 23:27
2F:→ StarTouching:這和regular expression有關嗎? 03/18 00:03
3F:→ StarTouching:讀到第七章為止 我好像想不到辦法除掉\r 03/18 00:04
4F:→ StarTouching:這樣會讓我做習題都不順利.... 03/18 00:04
5F:推 frank1983:如果您確認換行符號為 "\r\n",您可以在程式一開始執行 03/18 00:39
6F:→ frank1983:$/ = "\r\n"; 這樣 chomp 會去掉字串尾端的 "\r\n" 03/18 00:40
7F:推 abliou:正要回的說 XDD 樓上高手 03/18 00:41
8F:→ StarTouching:太感謝了 It works!! 這樣可以繼續寫習題了 XD 03/18 00:59
9F:推 cutecpu:推 frank,學到一招 03/18 16:04
10F:推 flamerecca:推 學會$/這個符號>< 03/18 17:23
11F:→ StarTouching:想動$/的人 也請注意一下我的下個問題喔 03/18 18:45
12F:→ StarTouching:兩者會有關係 03/18 18:46