を配置すると、 への参照を{}
明示的に要求します。代わりに必要と思われるのは、括弧を使用して.perl
HASH
ARRAY
そう :
#!/usr/bin/perl
use strict; use warnings;
my @selections = (
"Hamburger",
"Frankfurter",
"French Fries",
"Large Coke",
"Medium Coke",
"Small Coke",
"Onion Rings"
);
my @prices = (3.49, 2.19, 1.69, 1.79, 1.59, 1.39, 1.19);
for(my $he = 0; $he <= 6; $he++)
{
print "$selections[$he]=$prices[$he]\n";
}
さらに、配列を作成することはより楽しく、そのように退屈ではありません:
my @selections = qw/foo bar base/;
ただし、値のスペースがない場合にのみ機能します。
ノート
- いつもご利用いただくことをお勧めし
use warnings;
ます
- 書かない
@selections[$he]
けど$selections[$he]
$he
スコープ全体で事前宣言する必要はありません。宣言する場所を確認してください
- より良いアプローチ (ニーズによって異なります) は
HASH
、 two の代わりにa を使用することARRAYS
です。
このような :
#!/usr/bin/perl -l
use strict; use warnings;
my %hash = (
"Hamburger" => 3.49,
"Frankfurter" => 2.19,
"French Fries" => 1.69,
"Large Coke" => 1.79,
"Medium Coke" => 1.59,
"Small Coke" => 1.39,
"Onion Rings" => 1.19
);
foreach my $key (keys %hash) {
print $key . "=" . $hash{$key};
}