>>737(>>471 、自分でした)

正直、質問したときは、どっから手をつけていいか???な状態でしたが、
ついさっきひらめきまして、方法はこんなかんじです。
なんか、想像してたよりかずっと楽にできたので拍子抜けなんですが、
どうなんでしょう?まだ冗長な部分とかありますでしょか?


▼国マスタを開いて、下のように国ごとの名称と順番を取得しておく
$COUNTRY[$values[0]] = {
'countryname' => $values[1],
'seq' => $values[$2],
};

▼機関マスタの情報を$ORGに代入する際、以下のように、
 「機関マスタ.countryid=国マスタ.countryid」となるような、
  国マスタ.countrynameや国マスタ.seqを、ひっぱってくる。
 (ここから後は、外部テーブルを意識する必要はなく、$ORGの処理に専念すればOK)
$ORG[$values[0] = {
 'orgname' => $values[1],
 'countryid' => $values[2],
 'country_contryname' => $COUNTRY[$values[2]]->{contryname}, #国マスタ.contryname
 'country_seq' => $COUNTRY[$values[2]]->{seq},#国マスタ.seq
};

▼$ORGをいじくる(ソート基準をcountry_seqにして、表示する対象をcountry_contrynameにする)
@tmp = sort { (${ORG[$a]->{country_seq}} <=> ${ORG[$b]->{country_seq}}) } 0 .. $#ORG;
foreach (@tmp) {
print 'orgname='. $ORG[$_]->{orgname}. " / ";
print 'country_contryname='. $ORG[$_]->{country_contryname}. "<br>";
}