人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlのmy宣言の方法について質問です。
変数名に変数を利用する場合に、myをつけて宣言するとエラーがおこります。

---
#!/usr/bin/perl

use strict;
use warnings;

my $date = "0215";
my $data = "hoge";
my ${'abc' . $date} = $data;

exit;
---

と記述すると、
Can't declare scalar dereference in my at test.cgi line 8, near "} ="

という具合です。
こちらの宣言の修正方法を教えてください。


●質問者: kbkb
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:ABC AT CGI EXIT hoge
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●60ポイント

Can't declare scalar dereference in my at test.cgi line 8, near "} ="

読んで字の通り。

my ${'abc' . $date} = $data;

こんな変数の宣言の仕方は use strict 環境内では使えない。


よほどのことがない限りソフトリファレンスでないと困ることはないし、デメリットが大きすぎる。

書き直すことをお勧めする。

my %abc = ( $date => $data );

等。

◎質問者からの返答

使えないんですね。了解です。

たしかにハッシュで全て代用がきくものですので、ハッシュに変えたいと思います。

ありがとうございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ