use Data::Dumper; warn Dumper($hoge);
perlで変数をdumpする
返信
use Data::Dumper; warn Dumper($hoge);
#!/usr/bin/perl #ここで送信データーを読み取る &getFormData(); %query; $query{'par1'} = 'ここにリクエスト用のパラメーター1'; $query{'par2'} = 'ここにリクエスト用のパラメーター2'; $query{'par3'} = 'ここにリクエスト用のパラメーター3'; $query{'par4'} = 'ここにリクエスト用のパラメーター4'; #下記はHTML上からname="data"ハッシュキーを送信させ #上記に該当するときは他サーバーとの通信を行う。 #それ以外はエラー処理。 if($query{$FORM{'data'}}){ &socketCom($query{$FORM{'data'}}); } else{ &errorPrint(); } #================================= #下記、他のサーバーとソケット通信するためのサブルーチン sub socketCom{ my($addr, $name); #下記、ホスト名を$addrへ $addr = (gethostbyname('api.gnavi.co.jp')); $name = pack("S n a4 x8″, 2, 80, $addr); #下記、ソケットの生成。 #引数はソケットハンドラ、ソケットのドメイン、タイプ、プロトコル socket(GNAVIHANDLE, 2, 1, 0); #下記、接続。引数はハンドラ、IPアドレスとポート番号 connect(GNAVIHANDLE, $name); binmode(GNAVIHANDLE);#バイナリモード select(GNAVIHANDLE);#出力先デフォルトハンドルの設定 $| = 1;#バッファリングの設定(0以外でバッファリングを無効に) select(stdout);#出力先を初期の状態に #下記で接続先にリクエストを送信 print GNAVIHANDLE "GET http://api.gnavi.co.jp/ver1/$_[0] HTTP1.0\r\n\r\n"; while(<GNAVIHANDLE>){ #APIから返ってくるXMLをクライアントに返す時はこんな感じ #<?xml以降をクライアントに送信 if($_ =~/<?xml/){$boolean = 1;} if($boolean){print $_;}#前行の処理が実行されるとprintが実行される } close(GNAVIHANDLE);#soketをclose } #————– sub getFormData{ my($query, $pair); if($ENV{'REQUEST_METHOD'} eq 'POST'){ read(STDIN, $query, $ENV{'CONTENT_LENGTH'});; }else{$query = $ENV{'QUERY_STRING'};} foreach $pair(split(/&/,$query)){ my($key, $value) = split(/=/, $pair); $value =~ tr/+/ /; $FORM{$key} = $value; } } #————– sub errorPrint{ #エラー用処理の記述 } #--------------