1.11 タブをスペースに、スペースをタブに変換する

文字列内のタブを適当な数のスペースに変換したい。または、その逆の操作をしたい。

# 冗長な置換パターン
while ($string =~ s/\t+/' ' x (length($&) * 8 - length($') % 8 /e) {
  # 置換が失敗するまで空のループを回す
}

# Text::Tabsを使う方法
use Text::Tabs;
@expanded_lines  = expand(@lines_with_tabs);
@tabulated_lines = unexpand(@lines_without_tabs);