列出字串

vi test.pl

my $a = <<EOF;
1 a
2 b
3 c
EOF

print $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
EOF

print $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

 

最後修改日期: 2009 年 04 月 10 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。