ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< January 2019 >>
ARCHIVES
CATEGORIES
<< 納品時のバグ | main | iPadについて >>
perlからPHP呼び出し
perl側からPHPに引数を渡して呼び出し、
PHP側で引数をもとに値を作成して返すようにする方法を調べました。

perlでPHPを呼ぶ方法に、system関数がありましたが、
これだと戻り値が実行OK・NGのみになってしまい使えませんでした。

なんとか戻り値が取れないか調べました。
以下のようにしたらうまくいきました。

perl側プログラム
system関数ではなく「`」で囲む方法で実行しました。

#!/usr/bin/perl

my $ans = `/usr/local/php5/bin/php -f test.php5 aaaa bbbb`;
print("return:" . $ans);

PHP側プログラム
$argvから引数を受け取り結果を「echo」で出力します。
「echo」で出力すると、呼び出し元のperlの変数に値を返すことができます。

<?php
  echo $argv[1] . "&" . $argv[2];
?>

実行結果
画像

今回は引数と戻り値が日本語ではなかったので、文字化けもなく
無事に戻り値をとることができました。
| perl | 17:37 | comments(0) | - |
コメント
コメントする