- ベストアンサー
デゴートについて
初心者です。お願いいたします。 デゴートについての基礎を学んでいるのですが 行き詰っています。 $value=~s/%([a-fa-F0-9][a-fA-F0-9])/pack('C',hex($1) )/ge; という文なのですが、この解釈の仕方がイマイチ分かりません。 ●s/// = 置き換え演算子 ●『%([a-fa-F0-9][a-fA-F0-9])』を『pack('C',hex($1))』 に変換する ●hex関数 = 16進数に変換する ・・・と自力で少し理解してみたのですが、参考書によると、hex関数で16進数を10進数に変換する・・と逆のことが書いてあるんです(TT) それと最後の『ge』とはどういう意味なのでしょうか。 理解不足で申し訳ないのですが、どなたか詳しい方、アドバイスいただければ助かります。お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Perlの文法に関する質問はCGIカテゴリよりPerlカテゴリが適しているような気がしますが、それはさて置き、nekocyaさんが今問題としているのは、hex関数とgeオプションだけでしょうか。 hexについては、とほほさんの解説通り「引数を16進数の文字列と解釈してその値を返す」と理解すべきでしょう。(「16進数を10進数に変換する」というのは、関数そのものの解説文ではないような気がします。) 『ge』についての説明は割愛します。 詳しくはとほほさんのリファレンスをご覧下さい。 hex関数 http://tohoho.wakusei.ne.jp/wwwperl2.htm#hex 文字列置換 http://tohoho.wakusei.ne.jp/wwwperl1.htm#ReplaceOperand # デゴートとはデコード(decode)のことでしょうか。
その他の回答 (1)
- negi-bozu
- ベストアンサー率25% (5/20)
お礼
お返事遅くなりました。とても参考なり助かり ました!ありがとうございます! ちなみにデコードでした!