Perl脚本学习笔记(四)

29.    一旦我们将模块载入,无论是否引入特定的函数,我们均可以使用全名进行引用。
    如:
    use File:Basename qw/ /; #没有引入函数
    my $dirname = File::Basename::dirname $name; #使用模块中的dirname

30.    散列:
    %表示进行散列,
    引用《Perl语言编程_3rd》(Larry Wall等人合著)的话:
    “散列是一组无序标量,可以通过和每个标量关联的字符串进行访问.因为这个原因,散列经常被称为关联数组.但是这个名字太长了,因为会经常提到它,我们决定给它起一个简短的名字.我们称之为散列的另外一个原因是为了强调它们是无序的.(在 Perl 的内部实现中,散列的操作是通过对一个散列表查找完成的,这就是散列为什么这么快的原因,而且无论你在散列中存储多少数据,它总是很快).然而你不能 push 或 pop 一个散列,因为这样做没有意义.一个散列没有开始也没有结束.不管怎么样,散列的确非常有用而且强大.如果你不能理解散列的概念,那你还不能算真正的了解 Perl.
    ......
    因为散列是一种特殊的数组,你可以通过 {} 来获取单个的散列元素.比如,如果你想找出与关键字 Wed 对应的值,你应该使用 $longday{"Wed"}.
    ......
    注意这个例子:
    $wife{"Jacob"} = ["Leah", "Rachel", "Bilhah", "Zilpah"];  
    $wife{"Jacob"}[0] = "Leah";
       $wife{"Jacob"}[1] = "Rachel";
       $wife{"Jacob"}[2] = "Bilhah";
       $wife{"Jacob"}[3] = "Zilpah";   
   
    $kids_of_wife{"Jacob"} = {
              "Leah"   => ["Reuben", "Simeon", "Levi", "Judah", "Issachar", "Zebulun"],
              "Rachel" => ["Joseph", "Benjamin"],
              "Bilhah" => ["Dan", "Naphtali"],
              "Zilpah" => ["Gad", "Asher"],};

    $kids_of_wife{"Jacob"}{"Leah"}[0]   = "Reuben";
       $kids_of_wife{"Jacob"}{"Leah"}[1]   = "Simeon";
       $kids_of_wife{"Jacob"}{"Leah"}[2]   = "Levi";
       $kids_of_wife{"Jacob"}{"Leah"}[3]   = "Judah";
       $kids_of_wife{"Jacob"}{"Leah"}[4]   = "Issachar";
       $kids_of_wife{"Jacob"}{"Leah"}[5]   = "Zebulun";
       $kids_of_wife{"Jacob"}{"Rachel"}[0] = "Joseph";
       $kids_of_wife{"Jacob"}{"Rachel"}[1] = "Benjamin";
       $kids_of_wife{"Jacob"}{"Bilhah"}[0] = "Dan";
       $kids_of_wife{"Jacob"}{"Bilhah"}[1] = "Naphtali";
       $kids_of_wife{"Jacob"}{"Zilpah"}[0] = "Gad";
       $kids_of_wife{"Jacob"}{"Zilpah"}[1] = "Asher";”

31.    每个嵌套的 my 会生成一个新变量,每个嵌套的 local 也生成一个新变量。但是每次你使用 our 的时候,你实际上是说同一个变量,不管你有没有嵌套。


 

你可能感兴趣的:(职场,perl,学习笔记,休闲)