列出字串
vi test.pl
my $a = <<EOF;
1 a
2 b
3 c
EOFprint $a;
perl test.pl
1 a
2 b
3 c
把字串變成陣列
my @a = split / /, $a;
再 用 foreach 去作成 hash
my $hash_ref;
foreach my $aa (@a) {
my ($key,$value) = split (/ +|s+/,$aa);
print $key . $value .” “;
$hash_ref->{“$key”} = “$value”;
}
如何 print $hash_ref; 會得到 HASH(0x9288c20) 的字眼,它就是 hash 了,
再來還要把 $hash_ref 給 hash
my %hash = %$hash_ref;
這樣你 print $hash{2} 就會得到 b 了
完整的程式如下
use strict;
my $a = <<EOF;
1 a
2 b
3 c
EOFprint $a;
print ” “;
my @a = split / /, $a;
my $hash_ref;
foreach my $aa (@a) {
my ($key,$value) = split (/ +|s+/,$aa);
print $key . $value .” “;
$hash_ref->{“$key”} = “$value”;
}print ” “;
print $hash_ref;
print ” “;
my %hash = %$hash_ref;
print ” “;
print $hash{2};
print ” “;
# 參考 http://www.cs.mcgill.ca/~abatko/computers/programming/perl/howto/hash/ 的 Use hash references
留言