作者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