• ベストアンサー

変数を使ってファイル名を自分でつけたい。

フォームを使って、自分でファイル名をつけたdatファイルを サーバー上に保存するプログラムを書いているのですが、 変数をファイル名に指定するところがうまくいきません。 asperlを使ったローカルのテストではうまく自分がつけた名前のファイルを生成してくれますが、 実際にサーバー上で実行すると.datというファイルしか出来ません。 何か構文的な間違いがあるのでしょうか? 分かりにくい質問かとは思いますが、ご回答お願いいたします。 #cgi-lib.plからformの情報を取り出し &ReadParse(*form); $fn=$form{'filename'}; $main=$form{'main'}; #$mainの情報を、「変数.dat」に書き込み open(MAIN,">${fn}.dat"); print MAIN "$main"; close(MAIN);

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

とりあえず確認なんですが、 > $fn=$form{'filename'}; これで$fnに期待通りの値が入ってきてますか? 念のため、%formのキーと値を全部ダンプして確認してみた方が 良いと思います。

kyotokyo
質問者

お礼

ありがとうございます。解決しました。z

その他の回答 (1)

  • danmarino
  • ベストアンサー率63% (26/41)
回答No.2

open(MAIN,">${fn}.dat"); は open(MAIN,">$fn.dat"); の間違いでは? あるいは $fn="$form{'filename'}.dat"; open(MAIN,">$fn"); とか

関連するQ&A

専門家に質問してみよう