perlからphpに変数の値を渡したい

このQ&Aのポイント
  • perlからphpに変数の値を渡すことは可能なのか?同一サーバー内のファイル間で変数を受け渡す方法について知りたい。
  • JavaScriptのjQuery.ajaxを使用してphpとJavaScript間で変数の受け渡しができるが、同様の方法でperlとphp間でも受け渡し可能なのか疑問。
  • perlとphpの素人であり、簡単な方法を探している。質問内容に関する詳細があれば追加で質問する。
回答を見る
  • ベストアンサー

perlからphpに変数の値を渡したい

素人質問で恐縮です。 perlからphpに変数の値を渡す事は可能でしょうか。 同一サーバー内に、/hoge/aaaa.pmと/sample/bbbb.phpがあります。 置き場所はそれぞれで特に関連性はありません。 aaaa.pm内で定義した my $data = "あいうえお"; のような変数を、 bbbb.php内で受け取って使いたいです。 jQuery.ajaxでphpとjs間で変数の受け渡しが可能なのですが、 そんなイメージでやり取りできたらいいなと思っています。 難しい話であれば諦めます。 perlもphpも素人ですが、簡単なやり取りで済みそうなら取り入れたいです。 不明点などありましたら、ご質問ください。 よろしくお願いいたします。

  • Perl
  • 回答数2
  • ありがとう数12

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

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

No.1 です > aaaa.pl が必要という認識で良いでしょうか。 > 置き場所(ルートからのパス等)などを添える必要はないでしょうか。 方法はありますが、少々面倒になりがちなので、オススメしかねます /hoge/aaaa.pm package aaaa; our $data = "ほげ"; /sample/bbbb.php <?php # /hoge が perl の @INC に入っている $data = shell_exec("perl -m'aaaa' -e 'print \$aaaa::data'"); # そうでなければ直接指定 $data = shell_exec("perl -I'/hoge' -m'aaaa' -e 'print \$aaaa::data'");

Search_tmp
質問者

補足

ありがとうございます。 直接指定する方法で、ご提示いただいたソースを元に実際のディレクトリ名/ファイル名などに合わせてみたのですが、php側で値は取れませんでした。 ファイルへのパスは、ルートからのものをあてています。 ファイルの権限はいったん755にして試しました。(関係ないかもしれませんが) 仮に動いたとしてもソースの意味をしっかり把握できていないので、諦めつつあるのですが、 今回のケースの場合でデバッグするには、どのあたりからアプローチするのが良いでしょうか。 怪しそうなところ、ありますでしょうか。

その他の回答 (1)

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.1

aaaa.pm package aaaa; our $data = "ほげ"; aaaa.pl use aaaa; print "$aaaa::data\n"; bbbb.php <?php $data = shell_exec("perl aaaa.pl");

Search_tmp
質問者

補足

早速ありがとうございます! ありがたいです! 2点質問させてください。 aaaa.pm aaaa.pl bbbb.php と3つファイルがありましたが、 現状、aaaa.pl は存在しません。 今回の要望を満たすには、aaaa.pl が必要という認識で良いでしょうか。 aaaa.pl が何をしているのか、よくわかっておりません。 各ファイルの位置(置き場所)は、現状バラバラなのですが、 今回いただいた記述で置き場所(ルートからのパス等)などを添える必要はないでしょうか。 ただ、ファイル名を書いておけば勝手に連携してくれるような仕組みでしょうか。 shell_execを初めて見ているレベルでして、お恥ずかしい限りです。 どうぞよろしくお願いいたします。

関連するQ&A

  • jqueryとphpで変数をやり取りしたい

    jqueryとphpで変数をやり取りしたい こんばんは 現在jqueryとphpのやり取りを模索しています phpで定義した変数(仮に$dataPHPとして)に文字列を入れておきます それを外部のjqueryにどうにかして渡す(この『渡す』方法が分からない・・・) そして、jquery内で受け取った変数から色々処理をして、最終的に今度は別の変数(また仮に$dataJQUERYとします)をPHPに渡します PHPではその変数を受け取り、以降の処理を進めていく、というものです 『jquery php データ 渡す』などで調べてみると、$.ajaxや$.postを使うとデータを渡せるとあり、実際にサンプルプログラムを動かしてみました しかし、javascriptからphpにデータを送ることはできても、コールバック関数というものでjavascriptに返ってきたり、innerHTMLで直接埋め込んでしまったりと、純粋に変数として保持できる方法が見つかりませんでした jqueryとphpで自由に変数を渡しあえる方法はないのでしょうか? 現在の環境はjquery1.4.2、php5、apache2、IE7です どうぞご教授願います

  • PHPにおいて変数の初期化

    PHPで変数を初期化する際の初期化の方法について質問です。 私はPHPで変数を初期化するさい、視認しやすい様にsettype関数を用いることが おおいです。 単純に $hoge = array(); $foo = ""; $hoo = 1; とするより settype($hoge,"array"); とした方が、明確に 「ああ。この変数はこの行数で初めてでてきたんだな」 という具合に判断できるとおもっているからです。 例えばJSだと var hoge; という具合に、変数そのものの宣言を先んじておこなえますよね。 このように明確な変数宣言がわかりやすいとおもうのですが・・・・。 みなさまがたはPHPではどのように変数を初期化しますか? ご意見おきかせください。

    • 締切済み
    • PHP
  • PHPの変数で最初から2行分の文字列を取得したい

    phpで変数に格納されたデータの最初の2行分の文字列だけを取り出す方法を教えてください。 例)複数行のデータ(\n区切り) aaaa bbbb cccc dddd 上記のデータが変数$valueに格納されています。 $valueに格納されたaaaa~bbbbまでを取得するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • PHP
  • スクレイピングで取得した文字を変数表示

    javascriptでiphoneアプリを作成中です。 ゲームにあたり、自社サーバーのhoge.ne.jp/read1000.php上のデータベース 情報をスクレイピンクしてiphone上で表示させます。 下記により、「hoge.ne.jp/read1000.php」にあるソースの中から 「吉本」の文字をスクレイピング表示することが可能です。 ****【hoge.ne.jp/read1000.php】(DBサーバー)********************        <td class="class3_sql_name">吉本</td> ****【hogehoge.com/index.html】(iphone仮想サーバー)**************   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/read1000.php'; $.get(url, function(data){ var content3_sql_name = $(data.responseText).find('.class3_sql_name').text(); $("#text3_sql_name").text(content3_sql_name); }); </script> <div id="text3_sql_name"></div>  //←この部分にhoge.ne.jpからスクレイピング                       した吉本の文字が表示される ************************************************************ やりたいこと ここで取得できた「吉本」の文字を変数としてjavascript上で表示させたいと考えています。 下記のようにしたのですがグローバル変数、ローカル変数とも表示出来ません。 どうすれば表示できるでしょうか? ****【hogehoge.com/index.html】(iphone仮想サーバー)************* <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/read1000.php'; $.get(url, function(data){ var content3_sql_name = $(data.responseText).find('.class3_sql_name').text(); $("#text3_sql_name").text(content3_sql_name); //テスト用としてグローバル変数追加 content3=$("#text3_sql_name").text(content3_sql_name); }); </script> <script> document.write(""+content3_sql_name+""); </script> <script> document.write(""+content3+""); </script>  ↑上記のふたつとも表示出来ない 宜しくお願い致します。

  • 以下の変数は参照できないと、ルールとして記載がある

    jQueryをサイト制作に導入したいのですが、 AJAX系は使わない。 以下の変数は参照できないと、ルールとして記載がある場合があります。 'eval' 'alert' 'confirm' 'prompt' 'pbcd' jQuery' 上記の変数とは、初期から設定されている変数ということでよろしいでしょうか? 例えば下記のようなソースがあった場合、下記の場合のjQueryは変数ではなくjQueryを使っているという宣言なので、問題なくvar=jQueryなどvar=の後に上記の初期から設定されている変数を使わず、プラグインなら、ソースを検索で検索してvar=の後に上記の初期から設定されている変数がなければ問題ないということでよろしいでしょうか? jQuery("h1").click(function(){ jQuery("h1").animate({ backgroundColor: "#abcdef" }, 1500 ); }); 次にAJAX系を使っているかどうかは、プラグインのソースに下記のように、AJAXを読み込んでいる情報がなければ、使っていないと判断できるでしょうか? <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

    • ベストアンサー
    • AJAX
  • Ajax以外で、JavaScriptからPHPへ渡

    Ajax通信以外で、JavaScriptからPHPへ変数(配列)を渡したいのですが、 可能でしょうか? 下記のような状態の時、js変数dataを、Ajax通信を利用せずにPHP変数として取得したいのですが、どうすればよいでしょうか? JavaScript関数の中で、PHPフォームの送信ボタンをクリックさせる(ような)ことは出来ないのでしょうか? <button type="button" onclick="testsubmit();">送信</button> <script> function testsubmit(){  js処理;  var data = ★★; } </script> ■最終的にやりたいこと ・ボタンをクリックしたら、js処理で取得したjs変数(配列)を、Ajax通信を利用せずに、PHP変数として受け取りたい ・それを出来れば1クリックで処理したい

  • perlの文字列操作について教えてください

    perl初心者です。 変数$hogeに下記のような値が入っていた場合に、 ttp://***の部分を1つずつ取り出して、配列に 代入する方法を教えてくださいm(_ _)m $hoge = ttp://aaaa ttp://bbb ttp://ccc

  • PHPでレイティングバーの値を取得

    下記のようなJQuery スクリプトにおいて、 レイティングバーの値を、PHP変数に取得するには どうすればいいのでしょうか。ご指導お願い致します。 ちなみに、 $manzokudo = $_POST['rating']; var_dump($manzokudo); で、ダンプしたところ、中身がNULLでした。 【detail.php】 <link rel="stylesheet" type="text/css" href="jquery.rating.css"> <script type="text/javascript" src="jquery-2.1.3.js"></script> <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script> <script type="text/javascript" src="jquery.rating.js"></script> <script type="text/javascript"> $(function () { // レーティングバーを有効化 $('.starbar').rating({ cancel: '消去', // 「キャンセル」ボタンのテキスト // ★アイコンをクリックした時の処理 callback: function(value){ // detail.phpに対してレイティングバーの値を送信 $.post( 'detail.php', { rating: value }, function(){ window.alert('「' + value + '」をつけました。'); } ); } }); }); </script> </head> <body> <?php $_POST[] ?> </body> </html>

  • Perl HTML JavaScript

    ソースコードについて <input type="hidden" id="hoge" name="hoge" value="$hensu"> このコードのvalueの値(変数)をソースから見て   見えなくさせたい(認識できなくさせたい) おそらく完全に見えなくするのは不可能と思うのですが、 valueの値をソースで見えにくくする、認識できなくする方法は ないでしょうか? 完全に見えなくできるならそれが1番いいです^^; valueの値だけjsの外部ファイルにするとかですか? その方法ですと、Valueの値はPerlでの変数なのですが、 そのようなことも可能でしょうか?

    • ベストアンサー
    • Perl
  • jQueryでGETだと送信できるデータがPOSTだと送信できません。

    jQueryでGETだと送信できるデータがPOSTだと送信できません。 jQueryをつかって文字列をPHPに送信したいのですが、GETでは送信できるのにPOSTだと送信ができません。 js -------------------- $.ajax({ type:"POST", //GETだと送信できます。 url:"hoge.php", data:{data:"hoge"}, success:function(data,status){ alert(data); } }); -------------------- php -------------------- <?php $_POST[data] //GETの場合、$_GET[data] == "hoge"。 echo $data; ?> -------------------- 問題点がわかりましたらご指摘いただければと思います。

専門家に質問してみよう