
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ランキング
-
文字列を変数名として扱う方法
-
Perlの名前付き引数について
-
英語でのシャープとコメの呼び...
-
エクセルVBAでTransposeの不思議
-
ウィーンブリッジ発進回路
-
delphi の 標準偏差のプログラ...
-
csh foreachで「*」でエラ...
-
CSVファイルの特定の行だけを読...
-
ボタンが押された時にループか...
-
UWSCの終了の仕方
-
イベントの発生を待つ
-
エクセル関数で1〜12の数字がル...
-
csv形式のデータの一部を削除し...
-
範囲指定したセルを1つずつ飛...
-
VB.NETで素因数分解のプログラ...
-
VBA for文が止まらない
-
Perl 戻り値の型の判定って出来...
-
Escキーを押すと、中断する時と...
-
VBAの変数は何故「i」から始ま...
-
Python IndexError:list index ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックデジットについて
-
短いハッシュの作り方
-
まったく同じファイルのハッシ...
-
ハッシュ検索はなぜ速い
-
ハッシュ値が一致したデータは...
-
ハッシュマーク以降のアドレス取得
-
ハッシュリストって単にハッシ...
-
ハッシュ値によるファイルの同...
-
英語でのシャープとコメの呼び...
-
計算されたハッシュ、レポート...
-
列挙型と連想配列の違いを教え...
-
文字列を変数名として扱う方法
-
perl入門
-
一意(ユニーク)かつ、ソート...
-
連想配列のサイズ制限
-
Perlでの配列のソートについて...
-
ハッシュ値を取ったらその取っ...
-
Perlで変数に代入された文字の...
-
正規表現を使ってコードを短く...
-
エラーが出ます。どこが間違っ...
おすすめ情報