paramじゃなくてuploadで。
先日リファクタやってて、ハマったのでメモ。
CGIライブラリの param で アップロードされたファイル名を取得し、
ファイル名に日本語が含まれてたら文字コード変換するルーチンがあって、
問題なく無事動いてたから、リファクタの際、そのまま移植したら
ファイル名じゃなく、FHが返るようになって、文字コード変換でエラった次第。
もしかして、param関数で wantarray 的な何かが動いてて
戻り値を入れる変数の型なんか気にされちゃってるのかしらん?とか思い、
スカラーに入れてみたり、ハッシュに入れてみたり、あれこれやったけどダメで
CGIライブラリの説明読んだら、確かに param はファイル名もFHも返すから
もともと不評だったらしい事が判明。
仕方ないので、そこを upload 関数に置き換えたけど
それにしても今まで問題なく動いてた理由が全く不明。うー。
まさかこんな初歩的なライブラリで躓くとはなぁ…。