• ベストアンサー

cgiから別のcgiをコールする方法を教えてください。

いつもお世話になります。 プログラムとプログラムを結合しております。最初はサブルーチン化しようと思いましたが、元のプログラムの解析ができず。プログラムのコールしたいと考えております。perlから別のperlで作成したcgiをコールする記述方法を教えてください。初歩的な質問で申し訳ありません。

  • Perl
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

その呼び出すcgi が実行できてその標準出力を取り込むということだったら $result=`other.cgi`; (`は、バッククォート) でできると思う。

その他の回答 (2)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

include 'xxx.cgi'; require 'xxx.cgi'; のいずれかを使用すればいいような。

cardy55
質問者

お礼

moon_night様ご回答ありがとうございました。テストしてみたところ上手くいきました。本当本当初歩的で申し訳ありませんでした。

  • rafysta
  • ベストアンサー率45% (24/53)
回答No.2

original.cgi (呼び出したいcgi) use strict; ・・・省略・・・ our $result = 'hoge'; our @result = qw(1 2 3 4); our %result = (hoge => ans); コールする側.cgi use strict; use vars qw($result @result %result); do 'original.pl'; print "$result\n"; print "@result\n"; print "$result{hoge}\n"; 僕は、設定ファイルなどを作るときに、時々こんな風に作ります。

cardy55
質問者

お礼

rafysta様ご回答ありがとうございました。初めて見る記述方法で戸惑いましたがテストしてみたところ雰囲気が分かりました。今後の糧にさせていただきます。

関連するQ&A

  • CGIの最初の記述

    つい先日、CGIをテキストエディタで開き編集をしていたところ最初にPerlの場所を示すパスらしきものが記述されていました。#!/usr/bin/perlみたいなのです。 そこで質問なのですが、/usr/bin/perlとはどこを示しているのでしょうか? 私、ウィンドウズPCでWWWサーバーを開設しておりますのでやはり気になってしまいます。それと言うのも、Apacheというソフトで開設しているのですがそのソフトでCGIを動かそうとすると、動かしたいCGIプログラムの最初の記述である/usr/bin/perlを私のサーバーのPerlをインストールしているフォルダへのルートに書き換えなくてはCGIが動かないからなんです。大変困っております。どうか、皆様私にお力をお貸し下さい。

    • ベストアンサー
    • CGI
  • CGIでCGIを呼び出す方法

    いつもお世話になっています。 今掲示板のCGI(a.cgi)上に広告をランダムで表示するCGI(b.cgi)を記述しているのですがどうにも正しく表示されず困ってます… 他のCGIを呼び出すにはどのように記述すればいいのでしょうか? (htmlでいうとSSIで呼び出すように…)

    • ベストアンサー
    • CGI
  • CGIをPHPにするのは簡単でしょうか?

    プログラミング初心者です。 初歩的な質問で申し訳ありません。 CGI(PERL)で書かれたプログラムを PHPに直すのは簡単でしょうか? さすがにコピペする程度で何とかなるとは 思っていませんが・・・ かなり難解であれば1から勉強して作ります。 不躾な質問ですみませんが、ご教授お願いします。

    • 締切済み
    • CGI
  • CGIのメモリーについて

    いままで淡々とCGIをいろいろ作成してきましたが、そんなに大きなものを作成していないので気にしていませんでした。 CGIのをサーバー上で動かす際にメモリーのことを考えようと思いました。メモリーに関してはプログラム言語全体にいえることだと思いますが、CGIを例にご教授ねがえたらとおもいます。 メモリーの消費というのはファイルをrequireした場合、そのファイルを呼び込んだファイルのバイト数が使われるの? require したソース内にサブルーチンがあればそれは呼び出すまでメモリーは使われないのか? などそのほかにもあれば教えていただきたいです。

    • ベストアンサー
    • CGI
  • Perl(cgi)でこれはできますか?

    今まで、デスクトップ上にあるJAVAのプログラムで、 http://***.ne.jp を解析して、その中から、ある値を含む条件のURLのみを抜き出してHTMLリンク集を作っていました。 この作業を、ウェブベース(sakura.ne.jpのライトプランで利用予定。使用可能言語は多分perlのcgiのみ)で行うことはできないものかと思っております。 具体的には、 インプットボックスに、解析したいURLを入れて、検索ボタンを押すと、そのURLの文章の中から必要な文章のみを抜き出してそれと、HTMLリンク集にして返すというプログラムです。 また、perlやcgiは今まで殆ど触ったことが無い言語なので、どんなことでも、参考になりそうなことがありましたら是非是非、ご紹介ください。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • FC2サーバーでのCGI設置方法について。

    現在FC2レンタルサーバーを利用しています。ネットショップオーナー3を入れたいのですがCGI設置がうまくできません。 .htaccessファイルをhttpdocsに作成すると、httpdocs以下に作成されたどのディレクトリでもCGIを実行できるとFC2サイトには書かれています。 この通りにしたのですが、エラーが出てしまいます。 これ以外の設定は、 ・ファイルの転送先「/httpdocs/」 ・CGIプログラムの転送先「/httpdocs/」 ・perl: #!/usr/bin/perl ←先頭に#!をつけるようCGI元に書かれていたので ・サイトのURL 「http://www.oooo.oooo.com」 ・CGIのURL 「http://www.oooo.ooooo.com」 どなたか原因がおわかりになられる方がいらっしゃれば、アドバイスをお願い致します。

  • cgiを実行可能にするには

    webでcgiを実行可能にするには webサーバー(windows NT)側は どのような設定をすればいいでしょうか。 perlで記述したいためActive perlはインストールしました。 その他にcgiの実行を許可する設定が必要ですか? 初心者ですので、見当違いな内容でしたらもうしわけありません。

  • CGI版PHPで「basuc認証」のようなことを

    お世話になります。 いつもありがとうございます。 早速ですが、 CGI版PHPサーバーで作成中のPHPブログラムの中に 「basic認証」のようにものを組み込みたいのですが、 どのような記述になりますか? .htaccess の設定も必要なら、こちらも 教えてください。 お忙しい中、申し訳ありませんが、 よろしくお願いします。

    • ベストアンサー
    • PHP
  • CGIファイル内の CGI呼出しのパスについて

    CGI 内からの .cgi ファイルの呼出しのパスについて質問があります。 動作環境は linux - apache - perl です perl の cgi ファイル内で次のように、同じ /cgi-bin ディレクトリ内の reset.cgi をコールしています。 ========== #!/usr/bin/perl (省略) if($form[0] =~ /reset/){ `reset.cgi`; } ========== バッククォートで実行していますが、これでは動作せず、 ./reset.cgi と ピリオド,スラッシュを前に付けると動作します。 少し調べた結果、カレントディレクトリのパスが通っていないのかと考え、 /etc/profile の PATHに下記のように ピリオド を追加してリブートしたところ、 export PATH=$PATH:. ホームディレクトリなどで作成した シェルスクリプトは ./ なしで動くようになりましたが、 /cgi-bin ディレクトリ内の前述のような呼出しは動作しませんでした。 後は httpd.conf などの編集が必要なのかもしれませんが、 良く分かりませんでした。 申し訳ありませんが、教えて頂けると助かります。 よろしく御願い致します。

    • ベストアンサー
    • CGI
  • サブルーチンを認識しません。

    perlプログラムで サブルーチンの中で、別のサブルーチンを呼び出していますが、 なぜか認識しません。 KCatchでは以下の表示をしています。 Catch: Mon Sep 22 07:56:36 2003 ------------------------------------------------- [regist.cgi:375:die] Undefined subroutine &main::lock called. > &lock; ------------------------------------------------- regist.cgi with Perl 5.00502 for freebsd サブルーチン名には頭に & を付けて呼び出しています。 サブルーチンは、スクリプトの最後にまとめてあります。 同じサブルーチンは、他のスクリプトでも利用していますが、 エラーは出ていないのですが。 何が原因か、わかりません。 関係ないかもしれませんが、プログラム最初の方でuse strict;の宣言をしています。 他のサブルーチンも認識しません。 KCacthの表示は同じ &main::サブルーチン名 called になっています。 よろしくお願いします。

    • ベストアンサー
    • Perl