
No.2
- 回答日時:
連想配列に配列のポインターを入れるのではダメ?
#!/usr/local/bin/perl
use strict;
use warnings;
my %foo;
my @bar = (1, 2, 3);
# @barへのポインターを代入
$foo{'baz'} = \@bar;
# $foo{'baz'}でポインターにアクセス
# ポインターから配列に変えるために$を前につけて、
# 要素を取り出すために[0]を後ろにつける
print ${$foo{'baz'}}[0];
...まぁ、どうしてもそういうことをしたかったらPerlでなくPythonを使って、locals()とかになるんでしょうけれど。Perlにlocals()に相当する文法はなかったと思うので。
#!/usr/local/bin/python
mystr = 'abcde'
locals()[mystr] = (1, 2, 3)
print abcde
No.1
- 回答日時:
シンボリックリファレンスという使い方ですが、ハッシュで同様なことができるので、避けた方がよいです。
my $mystr = "abcde";
my $dv = {};
@{$dv->{$mystr}} = (1,2,3);
$dv->{$mystr} = [1,2,3]; # 上と同じ
どうしてもシンボリックリファレンスでないとダメということなら
no strict 'refs';
my $mystr = "abcde";
@{$mystr} = (1,2,3);
です。
参考URL:http://perldoc.jp/docs/perl/5.8.8/perlref.pod#Sy …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
VBAにハッシュ関数はないのです...
-
まったく同じファイルのハッシ...
-
ハッシュ値が一致したデータは...
-
「名前を元に占いが出来るサイ...
-
VBのReturnの使い方
-
VBAでの一時停止と再開の方法
-
ループフリー
-
EXCEL VBA ユーザーフォームの...
-
画面を強制的に再描画させる方法
-
テキストボックスの名前に変数...
-
DOSコマンドのループ内のTIMEコ...
-
UWSCの終了の仕方
-
乱数の桁数指定、または範囲指定。
-
CSVファイルの特定の行だけを読...
-
マクロ Publicでの配列定義
-
UWSCに制限時間を付けたいです
-
流れ図(フローチャート)が分か...
-
VBAでln関数の計算
-
VBA for i=1 to lastrow
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
チェックデジットについて
-
重複ファイルを削除したいので...
-
文字列を変数名として扱う方法
-
ハッシュリストって単にハッシ...
-
Perlでファイルを読み込み...
-
「名前を元に占いが出来るサイ...
-
列挙型と連想配列の違いを教え...
-
VBAにハッシュ関数はないのです...
-
まったく同じファイルのハッシ...
-
英語でのシャープとコメの呼び...
-
foreachについて
-
[perl] $xxx == 1 or $xxx == 5...
-
ハッシュリスト。
-
二次元配列のハッシュ版の記述...
-
ハッシュのソート
-
正規表現を使ってコードを短く...
-
短いハッシュの作り方
-
Perlでいうハッシュとはどのよ...
-
フォームデータをハッシュで返...
おすすめ情報