- 締切済み
dosでPerl実行時にPOSTデータを持たせて実行したい
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- osamuy
- ベストアンサー率42% (1231/2878)
CGIは環境変数および標準入力からデータを読み取りますので、 ・SETコマンドで必要な環境変数を設定 ・リダイレクト( <a.txt とか。)でフォームデータを流し込む ――で可能かと。
関連するQ&A
- perlスクリプト内でシェルコマンドを実行するには??
タイトル通りなのですが、perlスクリプト内でシェルコマンドを実行させる方法が分からなく、困っています。 実行したいシェルコマンドはUNIXのcrontab なのですが・・。 また、perlスクリプト内以外でシェルコマンドを実行する方法はあるのでしょうか?? どなたか分かる方いらっしゃいましたらご教授いただけると幸いです。よろしくお願いします。
- ベストアンサー
- Perl
- perlでpostが受け取れない
perlでCGI を作ってみましたが、POSTでデータが受け取れません。GETは問題ないのですが。read stdin が NULL になります。 ローカルのapache2でテストしています。$ENV{'CONTENT_LENGTH'}がゼロのためだと 思いますが対応が分かりません。 OS:CENTOS6 (VirtualBox) APACHE2.2 Perl 5.10 /var/www/cgi-bin で実行。 呼び出しは <form action='localhost/cgi-bin/uptag.cgi' method='post'"> です。
- 締切済み
- CGI
- Dosコマンドが分かりません
Dosコマンドについて、色んなサイトを見てもよく分からない点をお聞きしたいと思います。 1)Dosプロンプト画面で「再起動」コマンドは無いのでしょうか?rebootとか打っても駄目です。UnixのX-Windowでは、rebootで再起動になったのですが。 2)以前Unixを勉強した際に、コマンドについては、 ユーザ側 - シェル - カーネル という図式が あったのですが、Winでも同じような仕組みなのでしょうか?またシェルは何を使っているのでしょうか? 3)内部コマンドと外部コマンドの違いは何ですか? よろしくお願いします。
- ベストアンサー
- Windows 95・98
- PERLとシェルについて
コマンドプロンプトで入力されたPERLコマンドはシェルのプログラムによってカーネルに引き渡されてカーネルがPERLのプログラムにそのコマンドを実行させて、その結果をカーネル→シェルへと引き渡されてコマンドプロンプトに表示されるのでしょうか?
- 締切済み
- Linux系OS
- シェルスクリプトのbashとperlについて
シェルスクリプトのbashとperlについて 今さら気づいたのですが、PerlもUNIXのコマンドやシェルスクリプトとして使用できるということでしょうか。 RubyやPHPをUNIXのコマンドやシェルスクリプトとして使用することはできますでしょうか。 学ぶとしたら、bashとPerlのどちらが良いでしょうか。 また、シェルスクリプトはどんな用途や利点がありますでしょうか。 Webアプリケーションによるバックアップやログをタイマーでセットして自動的に取得したりすることは可能でしょうか。
- ベストアンサー
- Linux系OS
- Windowsサーバ+Perl +アプリ実行は可能?
Perlでコマンドを実行したいとき、 Linux/Unixサーバのなら system("コマンド名"); と、できるはずですが、 Windowsサーバ+Perlの場合、サーバにインストールされている プログラム/アプリケーションを実行したりすることは可能でしょうか。 具体的なイメージは ユーザーがブラウザからアクセスすると CGIは、サーバ側にインストールされているExcelを起動して マクロを実行、データをCSV形式ファイルに保存。 CGIは保存したCSV形式のファイルを展開し ブラウザ上で表示。 ということは可能ですか? もし可能ならPerlの書式を教えていただければ うれしいですー。
- ベストアンサー
- CGI
- PERLからcshellを実行したいのですが
PERLからcshellを実行したいのですが、UNIXのコマンドラインから直接実行すると上手く行くのですが、ブラウザからでは欲しい結果が表示されず、ログにも何も残りません。 $ret = system ("/bin/csh /home/my47143/.www/test.csh $argv1"); #$ret = 265/ 265 = 1 戻り値は1、いろいろ調べてみてLANG をCに指定して、パーミションも全て777にしてあります。 シェルの内容は、SQLをしてその結果をtest.logに書き込み、後に同じCGIの中で読み込み標準出力をしています。 open( TEXTFILE, "<test.log" ); $line = <TEXTFILE>; print $line; @lines = <TEXTFILE>; foreach ( @lines ) { print $_; } close( TEXTFILE ); コマンドラインから実行すれば、ちゃんとtest.logに結果が書き込まれています。 この書き込まれた結果をそのままにしておけば、ブラウザにその結果も表示されます。 ですが、シェルで引数で渡す度に結果は上書きするはずなのですが、シェルが実行されている気配がありません。 なんででしょうか?教えてください。
- 締切済み
- Perl
- DOS上で、UNIXのShellに代替されるものってありますか?
あるPCから別のマシンにftpを使ってファイルを転送するのですが、作業者(ファイル転送をする人)がftpコマンドなどが使えないため、 パソコンのDOS画面(コマンド実行)から、キーをひとつたたけば、ファイル転送してくれる仕組みをつくりたいのです。(ファイル名は固定のものが数個。転送するのは1ファイル単位でまとめての転送はしない) UNIX上ならftpコマンドを発行するシェルを作れば済むと思うのですが、DOS上ではどうなのでしょうか? UNIXのシェルのようなものはあるのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- SSIでPOSTデータを受け取りたい
○○.shtml中で <!--#exec cmd="××.cgi" --> としてcgiを実行しています(Perl) 表示は問題なくされています。 ここでフォームボタンを作りPOSTで同一の○○.shtmlファイルにデータを送りその中の××.cgiでデータを受信しその結果を表示させたいのですが、どうすればいいのでしょうか。 <form action="○○.shtml" method="POST"> ~中略~ <input type=submit value="送信"></form> こんな感じですと当然ながら○○.shtmlそのものはデータを処理しませんので、表示できません。 cgiに直接POSTでデータを送れば当然ながら○○.shtmlは関係ない世界になってしまいます。 試しに○○.shtmlへPOST送信をしてみても Method Not Allowed The requested method POST is not allowed for the URL /××/△△/○○.shtml. と表示されます。 どなたかご存じの方解決方法を教えてください。 よろしくお願いします。
- 締切済み
- CGI
- perlによる外部プログラムの実行
perlにてCGIを作成しています。 ブラウザでCGIにアクセスしたとき、gpgというコマンドプロンプトの プログラムを実行したいと考えており以下のようなプログラムを作成しました。 test.batを単体で実行したときにはうまく動作するのですが、CGIを介して 実行するとうまくいきません。 CGIのプログラム (WriteCmd.cgi) ********************************** #!c:/Perl/bin/perl print "Content-type: text/html\n\n"; print "test.batの実行\n<br>"; system("test.bat"); exit; ********************************** test.bat ********************************** gpg --batch --gen-key sample.txt ********************************** またtest.batの内容を ********************************** mkdir test ********************************** としてみるとディレクトリがちゃんと作成できるので WebサーバやPerlのパスの問題ではないと考えております。 よい解決方法がありましたら教えていただけると助かります。 よろしくお願いします。
- ベストアンサー
- CGI