Perl语言编程>>学习笔记2

时间:2023-12-06 08:13:44

1. Perl中变量的常用表示

   ${var} 相当于 $var

   $Dog::days  在Dog包里面的变量$days

   $#days  @days 的最后一个索引

   $days->[]  $days 引用的数组的的第3个元素

   $days[][]  多维数组

   $days{}{'Feb'}  多维哈希

   $days{,"Feb"}  多维哈希仿真 emulation

   @days[,,]  数组@days的对应3个元素的片段,也可写作 @days[..]

   @days{'Jan','Feb'}  包含 $days{'Jan'} 和 $days{'Feb'}的值的散列片段, 如果是写作 %days{'Jan','Feb'}  则同时包含键和值. 但是不能用 $days{'Jan','Feb'},因为是列表上下文.

2. Perl中的名字空间(namespace)

  分为符号表(symbol table) 和词法作用域(lexical scope)两种

  符号表: 全局散列, 存储存放全局变量的符号表的记录

  词法作用域: 未命名的中间结果暂存器, 不会存在于任何符号表,  只是附着在程序的一块代码后面.

3. Perl 中的引起构造

 
常用 通用 含义 可否内插
' ' q/ / 直接量字符串 No
" " qq/ / 直接量字符串 Yes
`` qx/ / 执行命令 Yes
() qw/ / 单词列表 Yes
/ / m/ / 模式匹配 Yes
s/ / / s/ / / 模式替换 Yes
y/ / / tr/ / / 字符转换 No
"  " qr/ / 正则表达式 Yes

这些简写是为了方便写出更容易阅读的代码

$single = q!I said, "you said, 'she said it.'" !;
$double = qq(Can't we get some "good");