- ベストアンサー
&ReadParseを用いての画面データの取得
Perl初心者なので、わからないことばかりです。 前画面からの情報を&ReadParseを用いて取得し、 取得データの中からキーAのデータを抽出し、 その抽出結果をEUCで変換し、変換後のものを"|(パイプ)"で分割し、 できた7つのデータを、ハッシュでリターンするというサブルーチンを作っています。 このサブルーチンは不特定多数の画面から呼び出されるのですが、 &ReadParseを用いて取得するデータは同じです。 また、ハッシュでリターンする項目も固定です。 ↓こんな感じで書いてみましたが、&ReadParseをあまり理解していないので自信がありません。 どうしたらいいでしょうか? sub return_hash{ &ReadParse(*in); $param = %in{A}; #EUC変換する &jcode::convert(*param ,'euc'); #"|"(パイプ)で分割する @ResultDatas = split(/|/,$param); $val0 = @ResultDatas[0]; $val1 = @ResultDatas[1]; $val2 = @ResultDatas[2]; $val3 = @ResultDatas[3]; $val4 = @ResultDatas[4]; $val5 = @ResultDatas[5]; $val6 = @ResultDatas[6]; $val7 = @ResultDatas[7]; #ハッシュにし返す %in = ('KEY-A' => $val0, 'KEY-B' => $val1, 'KEY-C' => $val2, 'KEY-D' => $val3, 'KEY-E' => $val4, 'KEY-F' => $val5, 'KEY-G' => $val6, 'KEY-H' => $val7); return %in; }
- みんなの回答 (4)
- 専門家の回答
補足
サブルーチンを動かした結果、 $param = %in{A}; の部分でエラーが出ました。いろいろ試行錯誤してみたのですが・・・。