PerlIOがいつまでたってもきちんと理解できず、毎回試行錯誤しながら適当に指定してしまうのできちんと調べてみた。 調べてみて一番の収穫だったのは、レイヤは主に三種類に分けられる、ということ。 ドキュメントでは順不同で出てくるのでごっちゃになって混乱していたが、こうして分類してみると自分の望むものが何なのかよくわかるようになった。 リソースアクセス系 これはリソースに対して実際にIOを行うレイヤ。 :unix Unix/POSIXのread(), write()等を使うレイヤ。 バッファリングしない。どのプラットフォームでも常にO_BINARYで扱う。 :win32 file descriptorの代わりにWindowsネイティブのハンドルを使うレイヤ。 5.10.0現在のリリースではバグっぽいことがわかっているらしい。ので使わないほうがいい。 :stdio システムのstdioライブラリ