No.1ベストアンサー
- 回答日時:
CGIに渡す文字列をエンコードしているのですね。
細かい関数の意味などや変数の意味は知っているものとして、説明します。
分からなかったら補足してください。
「\W」、つまりアルファベットや数字「以外」の特殊文字や漢字を、
%XXの形の16進数の数列に変換しています。
$Word='ほげ';は$Word='%A4%DB$A4%B2';に変換されますよね。
掲示板などのCGIの中に記述されていたものでしょうか?
こうしておかないと渡されたCGIのほうで文字化けが起こったりして、
正しい文字列が渡されないのです。
ちなみに、この部分は$escape{$1}の部分がない次のスクリプトでも
同じように動くはずです。
$Word =~ s/(\W)/sprintf("%%%02X", ord($1))/eg;
これならわかるでしょうか?
じゃあ$escape{$1}はなにかというと、変換キャッシュとでもいうのかな。
sprintf関数は時間がかかるので、一度変換したことがある文字は、
その結果を%escapeというハッシュに保存しておいて使いたい。
つまりハッシュがあるときはそちらをつかい、ないときはsprintfの結果を代入するのが、「$escape{$1} ||=」の部分の意味ですね。
CGIやHTMLについてよく書いてあるページをリンクしておきますので、
そちらも参考にしてみてください。
参考URL:http://wakusei.cplaza.ne.jp/twn/wwwcgi3.htm#CgiE …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- その他(コンピューター・テクノロジー) パソコン初心者です。 ExcelとWordの勉強をする際に こちら、金子晃之さんの『大人気YouTu 5 2022/06/07 01:21
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- その他(Microsoft Office) WordとExcel初心者の者です! 大人気YouTuberの金子晃之さんの本で WordとExce 1 2022/06/05 16:23
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- 麻雀 麻雀の順位ウマの導入について 3 2023/05/04 11:19
- WordPress(ワードプレス) word pressもjimdoも結局完全無料でやるのは無料なのでしょうか? 初心者なので一旦試しに 2 2022/11/25 12:15
- Perl PERL 1 2022/04/26 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
一意(ユニーク)かつ、ソート...
-
Perlは戻り値で、ハッシュや配...
-
perlで配列名を動的に作り出したい
-
ハッシュ値によるファイルの同...
-
計算されたハッシュ、レポート...
-
ハッシュのハッシュを実現したい。
-
アクティブセルから、A列最終行...
-
画面を強制的に再描画させる方法
-
どなたかこのプログラミングを...
-
乱数の桁数指定、または範囲指定。
-
アセンブラによるウェイト(WAIT...
-
VBのReturnの使い方
-
VBA for i=1 to lastrow
-
VBAでの一時停止と再開の方法
-
Dim flag(4) as boolean で配列...
-
Excel VBA ユーザーフォームの...
-
alarmの使用について
-
For文を使った九九表の作成
-
「偶数・奇数の和」のフローチ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースでユーザーのパス...
-
文字列を変数名として扱う方法
-
ハッシュ検索はなぜ速い
-
まったく同じファイルのハッシ...
-
列挙型と連想配列の違いを教え...
-
ハッシュ値が一致したデータは...
-
重複ファイルを削除したいので...
-
*(アスタリスク)の意味
-
UTF-8で書かれたJSPの日本語文...
-
チェックデジットについて
-
ハッシュマーク以降のアドレス取得
-
ハッシュリストって単にハッシ...
-
一意(ユニーク)かつ、ソート...
-
多次元連想配列の削除
-
英語でのシャープとコメの呼び...
-
perlで配列名を動的に作り出したい
-
連想配列のサイズ制限
-
ハッシュ値によるファイルの同...
-
全ての変数を初期化する方法は...
-
文字列をハッシュにしなければ...
おすすめ情報