最近perlを始めたミジンコですが配列の処理でつまずいています。
$sample = 170;
@data = <<DATA_END;
43<>48
90<>110
160<>199
DATA_END
$ans = "範囲外です";
foreach (@data) {
($a_1,$a_2) = split(/<>/,$_);
if (($sample >= $a_1)&&($sample <= $a_2)){
$ans = "範囲内です";
}
}
print $ans # この場合は2行目の範囲内なので"範囲内です"と表示したいのですが・・・
上記のスクリプトは
@dataの各行毎に<>で挟まれた値の範囲に$sample値が存在するかどうかを判定する目的で
上記のようなプログラムを書いてみたのですが@dataの一行目しか参照してくれません
よろしければどなたかおかしな所と正しい書き方を指摘していただけませんでしょうか
宜しくお願いいたします。目標は@dataと$sampleの範囲を下記のようにを2次元的なものに広げて

$sample = '100_48'
@data = <<DATA_END;
43<>48/73<>115
90<>110/45<>50
160<>199/0<>255
DATA_END
(この場合$sampleは@dataの2行目に該当するように)
のようなデータの処理を行いたいと思います。