• ベストアンサー

Perl、区切り文字で配列に格納したい

LWP::UserAgentでperlスクリプトから別のスクリプトを呼び出して my $val print $res->as_string; で目的の値を取得したんですが値の前半部分にhttpヘッダーが入っており これを撮り省きたいです。 データの内容はバイナリなので$valの中の改行コードを区切り文字として 配列に格納し末尾の配列の値だけ取りだそうと思っています。 それで指定した区切り文字で配列に格納する方法を調べたのですが よくわからず教えていただけないでしょうか? phpでいうところのexplode関数みたいなことがやりたいです。

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

  • ベストアンサー
  • N60-BASIC
  • ベストアンサー率80% (17/21)
回答No.2

例文のスクリプトが文法的に変なので、方法だけ書きます。 (split /\x0d\x0a/, $res->as_string)[-1] とすれば、おっしゃるものは取得できます。 ですが、リクエストボディに改行コードを含んでいた場合は意図せぬ結果になることでしょう。 バイナリデータだから改行コードが存在しない、というのは特殊な場合であって、一般的ではないです。 リクエストボディだけを取り出したいということであれば、普通は $res->content の方を使います。

midugane
質問者

お礼

>文法が・・・ すいません仰るとおりです。あせって書いたら=が抜けてしまいました。 >バイナリデータだから まさにそれを心配していました。 ずばり質問の意図を読み取って的確な回答をしていただき感謝します。 ありがとうございました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

split?

midugane
質問者

お礼

関数としてはまさにこれですね。ありがとうございます。別の機会に使わせていただきます。