天使と悪魔選手権

ある配列の中から、'Address' という文字列を探し、
もし見つかれば、その配列の何番目に格納されている
か値を返してくれる関数はないでしょうか。

例えば、

 @test[0] = 'No';
 @test[1] = 'Name';
 @test[2] = 'Point';
 @test[3] = 'Address';

 とあった場合、かえってくる値が 3 という具合
 です。

A 回答 (1件)

関数にはないんじゃないかな~。


CPANを探せば、モジュールのなかには、有るだろうけれど、
一般的ではないので、逆に分かりにくくなると思う。

========================================
print &search('Address', @test);

sub search($key_, @array_) {
my $key_ = shift;
my $i = -1;
map { ++$i; return $i if /^$key_$/; } @_;
}
========================================

以上みたいな関数で良いのでは?
    • good
    • 0
この回答へのお礼

ありがとうございます。
このまま貼って使えました。感激です。
こういうのがサラッと書ける方が羨ましいです。
手持ちポイントが 20pt しかないのが残念で仕方
ありません。
心より感謝です。

お礼日時:2002/01/14 02:30

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