s///, tr///

よく間違う。というか、sを使いたい時にtrと書いてしまう。trってどういうときに使うんだ?
sが置換(substitution)で、trが変換(transliteration)。
正規表現を使うのはsの方。

s/^/> /mg; #行頭に"> "を付ける。
tr/ \t/_/; #スペースをアンダーバーにする。

sの後ろに付けるやつ。

/i
大文字と小文字を区別しない、ってやつ。
/m
^と$が、文字列の中の改行文字の隣でマッチする。文字列を複数の行として扱う感じ。
/s
.が改行文字にもマッチするらしい。文字列を単一の行として扱う感じ。
/x
空白文字を無視して、パターン内にコメントを書けるようにするらしい。#がコメント文字として働くようになるとか。
/o
一回だけコンパイルするらしい。パターン内の変数。
/g
すべてを置き換える。
/e
置き換え文字列を式として評価するとか。s/^/sprintf("%04d ",++$i)/e #行番号を付けてみた。