プロが教える店舗&オフィスのセキュリティ対策術

Perlで、「ハッシュ」という概念が出てきますが、
どのような意味ですか?

どんなプログラムを作成する時に便利なのでしょうか?

なるべく早くお答えいただいた方からポイントを差し上げます。

A 回答 (5件)

上記の人の方の通りハッシュは連想配列という意味です。



で、ハッシュと配列のどちらが良いか、という質問に対しては、どちらも良いし、どちらも悪い。ということです。
ハッシュには、順番の指定が出来ない。(一番最初に呼んだデータが、一番最初に出力されない)
配列は、キーとデータを取得しにくい。ということです。

しかし、ハッシュにデータを格納して、そのハッシュを配列の中に入れてしまえば、ハッシュに順番が与えられるのです。

下記の場所で検索か、質問をしてみると良いです。ためになりますよ。

参考URL:http://www.parkcity.ne.jp/%7Echaichan/bin/qanda. …
    • good
    • 0
この回答へのお礼

なるほど

そういう観点で使えるんですね。

よく分かりました。

お礼日時:2001/03/31 13:22

>私はデータベースは全て配列@で扱っているのです。


>「配列」よりも「ハッシュ」を使ったほうが便利なのは
>どのような時なのでしょうか?

そうですね~。はいれつでやっちまう、といってしまえば、それはそれでOKな気も・・・(というのは、PERL言語の配列は他の言語と違って、えらく柔軟性が高いと言うかなんと言うか、だいたい、型が違うものを配列にできるってどう言うこと? っていうか何の配列? とまぁ、C/C++系出身者などは思ってしまいますのですが・・・)

たとえば、次みたいなときに、ちょろっと使ってみるとか。。。
%ENGINE = (
yahoo => {
url => 'http://search.yahoo.co.jp/bin/search?',
keyword => 'p',
},
goo => {
url => 'http://www.goo.ne.jp/default.asp?',
keyword => 'MT',
},
infoseek => {
url => 'http://www.infoseek.co.jp/Titles?sv=JP&tds=0&',
keyword => 'qt',
},
google => {
url => 'http://www.google.com/search?lr=lang_ja&',
keyword => 'q',
},
fresheye => {
url => 'http://search.fresheye.com/?',
keyword => 'kw',
},
excite => {
url => 'http://www.excite.co.jp/search.gw?c=japan&lk=exc …
keyword => 's',
},
lycos => {
url => 'http://www.lycos.co.jp/cgi-bin/pursuit?cat=jp&',
keyword => 'query',
},
);

とかね。
    • good
    • 0
この回答へのお礼

たびたびすいませんです。
Perlの配列って柔軟性が高いようなんで
いつもそうしてました。

いろいろなアドバイスありがとうございました。

お礼日時:2001/03/31 13:26

ハッシュとは「連想配列」もしくは「セット」といわれるものです。


「連想配列」のような概念が、「既存組みこみの変数」として実現されているのは珍しいかもしれません。Perl言語の特徴がかいまみえます。
C++やJavaなどの言語でも、「組みこみ変数」ではなく、「ライブラリ」として実現されています。

この連想配列とは一般的に「データベース構築」の基礎概念となるものです。

例えば、学校などでは、「学籍番号」なるものがあり、
「何番の生徒?」と問いただせば、「鈴木太郎」などというように、わかりますよね。その逆に「鈴木太郎?」と問いただせば、「何番の生徒」ということもわかります。

このように、それぞれの「学籍番号」とそれに対応した「生徒名」、この組み合わせ(連想)が、数多くある(配列)、ことから、連想配列というのです。
    • good
    • 0
この回答へのお礼

ご丁寧な回答 ありがとうございます。

なかなか使いこなすのは時間がかかりそうです。

私はデータベースは全て配列@で扱っているのです。

「配列」よりも「ハッシュ」を使ったほうが便利なのは
どのような時なのでしょうか?

もしよろしければアドバイスください。

お礼日時:2001/03/29 13:26

ハッシュとハッシュ関数というのは別物ではないのですか。



下はPerl&CGIに関する解説サイトです。

参考URL:http://www.rfs.co.jp/sitebuilder/perl/03_03.html
    • good
    • 0
この回答へのお礼

このホームページずっと昔、見たことがありました。

あらためて見てみるとよく分かりました。
どうもありがとうございます。

お礼日時:2001/03/29 13:23

こんにちは.


参考URLにリンク張っておきました.
また,CGIのカテゴリに書き込まれているので下のアドレスも参考になると思います(多少ハッシュについても載っています).
http://www.parkcity.ne.jp/~chaichan/src/perl01.htm

参考URL:http://www.math.s.chiba-u.ac.jp/~matsu/gpg/gpg-0 …
    • good
    • 0
この回答へのお礼

なるほど。
ハッシュ関数というのもあるんですね。
参考になりましたがちょっと私のほしい答えと違っちゃいました。
またお願いします。

お礼日時:2001/03/29 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!