看板 Perl 關於我們 聯絡資訊
※ 引述《ForeverT (全家好神)》之銘言: : 感謝 : 好用的一招 學起來 : 但字數是未知的 : 格式是固定的 : 長字串可能會被削去 : 短字串可能空格太多 : 又該如何解呢? : 希望能依據最長字串做向右或向左對齊 : 謝謝 chomp(@TMP=<DATA>); foreach(@TMP) { foreach( map { length } split(/ /) ) { $i++; $LEN{$i}=$_ if($LEN{$i} < $_); } undef $i; } foreach(@TMP) { foreach( split(/ /) ) { $i++ and print ' '; # 分隔 # printf("%-$LEN{$i}s", $_); # 靠左對齊 # printf("%$LEN{$i}s", $_); # 靠右對齊 # 置中對齊 $LEN{0}=int(($LEN{$i}-length)/2); printf("%$LEN{0}s",undef); $LEN{0}=$LEN{$i}-$LEN{0}; printf("%-$LEN{0}s", $_); # 置中對齊 } undef $i; print "\n"; } __DATA__ xxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxx xxxxxxxxx 寫得不夠簡潔, 請見諒... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.148.69
ForeverT:謝謝 研究研究 03/31 14:18