![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
my @shop = [ {'start_hour'=> '1100','shift'=> [1,2] }, {'start_hour'=> '1130','shift'=> [1,3] } ]
という配列があってそれをループで回したいのですが、
▼以下だとNG
foreach my $data (@shop){print $data->{start_hour};}
▼以下だと最初の1つだけOK
foreach my $data (@shop){print $data->[0]->{start_hour};}
という状況です。なぜ$data->{start_hour};で取得できないのでしょうか?
助けて頂けるとうれしいです★
No.1ベストアンサー
- 回答日時:
[] は (無名) 配列へのリファレンスを生成し, リファレンスはスカラです. つまり
my @shop = [ {'start_hour'=> '1100','shift'=> [1,2] }, {'start_hour'=> '1130','shift'=> [1,3] } ];
とすると, @shop は「2個の要素を持つ配列へのリファレンス」という 1個の要素しか持ちません.
やりたいことは, 本当は
my @shop = ( {'start_hour'=> '1100','shift'=> [1,2] }, {'start_hour'=> '1130','shift'=> [1,3] } );
だったりしませんか?
No.2
- 回答日時:
配列に()か[]かの、びみょーな違いです。
my @shop = ( {'start_hour'=> '1100', 'shift'=> [1,2] }, {'start_hour'=> '1130', 'shift'=> [1,3] } );
foreach my $data (@shop) { print $data->{start_hour}; }
または
my $shop = [ {'start_hour'=> '1100', 'shift'=> [1,2] }, {'start_hour'=> '1130', 'shift'=> [1,3] } ];
foreach my $data (@{$shop}) { print $data->{start_hour}; }
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- 英語 提示した名言の文の構造について(waste one hour of time) 5 2023/05/20 15:22
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- 英語 約1時間の表現 2 2022/11/22 22:32
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- Perl Perlでファイルの末尾から指定文字列を検索してファイルに吐き出したい 4 2022/04/04 16:15
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の中に重複文字列があるか...
-
csvで順番の入れ替え
-
Perlでのforeach文の挙動がわか...
-
window.open でのファイル指定方法
-
VBAでCSVファイルの特定行を書...
-
ReadLineでの読み出し行を指定する
-
awkスクリプトでダブルクォーテ...
-
VBAで巨大なファイルの途中から...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
htaccessで特定のディレクトリ...
-
fopenでディレクトリ内の全ファ...
-
ファイル出力の改行コードをLFに
-
エクセルVBAで素数だけを出力す...
-
fgets で値が取得できない
-
エクセルVBA コードが同じでも...
-
DOSコマンドで、標準出力を出力...
-
MATLABのm-fileについて
-
openした後、closeしないでプロ...
-
Perlで特定行から特定行までを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どのようなプログラムをつくれ...
-
csvで順番の入れ替え
-
perlでの三次元配列の作り方
-
配列の中に重複文字列があるか...
-
要素を削除する最適な方法
-
perlで複数行のデータを自由に...
-
pushをすると行ができる
-
ファイルから読み込んで配列へ
-
Perlの初歩的な質問・・・
-
行・列の整理! perl
-
C言語のバイナリモードでのfsca...
-
perl-cgi 文字の長さでソートし...
-
C言語でバイナリファイルの読み...
-
Pythonの再帰関数の動作の流れ...
-
CSVデータ「","」と「,」混在読...
-
perlで読み込んだURLを配列に入...
-
perlの無名配列の使い方を教え...
-
ソートのテクニックについて
-
ランダムでかぶらないように4...
-
頻度表の作成(Perl初心者です)
おすすめ情報