
設定ファイルにこのように設定されている際に
use constant SUUCHI_MAPPING => {
'one' => 'xxx',
'two' => 'yyy',
'three' => 'xxx',
'four' => 'zzz',
'five' => 'yyy',
'six' => 'yyy'
}
下記のような持ち方にして使用しやすくするにはどのような処理をしたらいいでしょうか。
use constant SUUCHI_FORMAT => {
xxx => ['one','three'],
yyy => ['two','five','six'],
zzz => ['four']
};
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
「順序に意味がない」なら, SUUCHI_MAPPING のような構造を SUUCHI_FORMAT のような構造に変換するサブルーチンを書けばいい. 単純には
sub cvt {
my $foo = {};
while (my ($key, $val) = each %{$_[0]}) {
push @{$foo->{$val}}, $key;
}
$foo;
}
のようなサブルーチン (名前は適切なものにすべし) を使って
use constant SUUCHI_FORMAT => cvt(SUUCHI_MAPPING);
とすればできる, みたい.
もちろん, 順序が保存されるとは限りません (そもそもハッシュである以上順序は関係ない).
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBのReturnの使い方
-
VBA横データを縦にしたいです
-
Dim flag(4) as boolean で配列...
-
VBAでの一時停止と再開の方法
-
UWSCに制限時間を付けたいです
-
テキストボックスの名前に変数...
-
Strawberry Perl for Windows ...
-
C言語でファクト関数を使わずに...
-
xmplayの使い方
-
エクセルVBAでTransposeの不思議
-
マクロ Publicでの配列定義
-
ループフリー
-
Do whileでExitせず、ループの...
-
csh foreachで「*」でエラ...
-
Can't use string ("0") as an ...
-
CやJAVa,Rubyなどプログラミン...
-
GIFアニメをループさせたくない
-
CSVファイルの特定の行だけを読...
-
VBA 二次元配列 ループの書き方
-
エクセルの当番表を作っていま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBのReturnの使い方
-
サブルーチン(共通の処理)の...
-
Perl実行時のメモリ不足について
-
サブルーチンの使い方
-
RFC822形式の日付を生成するサ...
-
Perlの関数の引数について詳細
-
ExcelVBAでのデータ型変換、も...
-
定数についての質問です
-
yychatのcokkie機能がおかしく...
-
画面を強制的に再描画させる方法
-
UWSCの終了の仕方
-
DOSコマンドのループ内のTIMEコ...
-
範囲指定したセルを1つずつ飛...
-
VBAでの一時停止と再開の方法
-
Escキーを押すと、中断する時と...
-
乱数の桁数指定、または範囲指定。
-
イベントの発生を待つ
-
C言語について。
-
流れ図(フローチャート)が分か...
-
UWSCに制限時間を付けたいです
おすすめ情報