• 締切済み

PHPから書き換え

尻取りゲーム用に書いたPHPスクリプトの一部ですが CGIに書き換える方法がよくわかりません。 教えていただけませんでしょうか。 ============================================ if(isset($_POST['shiritori'])){ $rest = mb_substr($shiritori, -1, 1, "SJIS"); $hajime = mb_substr($shiritori, 0, 1, "SJIS"); if(($name != "") && ($shiritori != "")){ if($hajime == $key){ setcookie("name", $name, $expire); $key = file($keyfile); $fp = fopen($keyfile, "w"); fputs($fp,$rest); fclose ($fp); $word = "".$shiritori."<hr>"; $lines = file($logfile); $fp = fopen($logfile, "w"); fputs($fp,$word); for($i = 0; $i < $logmax-1; $i++) fputs($fp, $lines[$i]); fclose ($fp); } } else{ print"記入漏れはありませんか<br>"; print"次は<b>" .$key. "</b>から始まる語です。<br>"; } ============================================ どうぞよろしくお願いします。

みんなの回答

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

移植するには、移植元言語と移植先言語との両方を知らないとなりませんけど、 perlの基本文法は知っているのですよね? 制御構造は、phpもperlもあまり変わらないと思うけど 受信データの解析と、多バイト文字列の操作は、もっとも異なるところでしょうかね。 受信データの解析は、CGI.pmを使うか、cgi-lib.plを使うか、自力で解析コードを記述するかの方法があります。 多バイト文字列操作は、perl5.8ならEncode.pm などでかなり楽できますが それ以前のバージョンでは、かなり工夫が要ります。 上記の主要単語でperlカテゴリの方で検索すると方法はいろいろ出てきますよ。 あと、どこまで出来て、どのあたりが解らないのかをもっと明確にしてください。

noname#15017
質問者

お礼

PHP版は完成しています。(ローカルサーバーのApacheで動作確認済みです。)mb_substrの部分が気になっていましたが、Perlでもsubstrを使って同じような処理ができることを知りました。勉強のつもりで気長に作成してみたいと思っております。ありがとうございました。

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

> CGIに書き換える方法 と言われても、そのCGIは一体何言語で書くのでしょうか? CGIは「言語」ではなく「仕組み」です。 よってCGIはPerl、C言語、Ruby、Python、PHPといろいろな言語で作れます。

noname#15017
質問者

補足

ありがとうございます。 同じようなものをPerlでも書けたらと思っております。