erbコマンドとerbライブラリの挙動の違い

Rubyを使ってHTML出力するスクリプトを書くために、erbを利用してみた。
まず .rhtml ファイルを作成し、erbコマンドで出力を確認。

erb hoge.rhtml > hoge.html

次にRubyスクリプトからerbライブラリを使って、出力を確認。

hoge_html = ERB.new(open("hoge.rhtml").read).result
open("hoge.html", "w") { |f| f.write(hoge_html) }

ところがerbが思ったように動作せず、宣言されていない変数またはメソッドがあるというエラーを出力して止まってしまう。
ERB#src の出力を確認してみると、どうやらパーセント記号('%')で始まる行をRubyのコードと見なしてくれていないようだ。ドキュメントを調べてみると、ERB.newメソッドの trim_mode オプションで"%"を指定しないといけないらしい。
というわけで、Rubyスクリプトを以下のように修正して、問題は解決。

hoge_html = ERB.new(open("hoge.rhtml").read, nil, "%").result
open("hoge.html", "w") { |f| f.write(hoge_html) }