本次笔记针对 E 课网 k.lin 老师的《Perl 在芯片验证中的实践》感谢万分!
tips:
- 编写脚本最好输出帮助信息–help message
防止自己时间久了忘记,或者方便其他用户使用
synatax
Scalar Data
标量的概念
在 Perl 中也有类似于单数和复数的区别,标量代表单件事物。
- 标量可以是 ++ 字符串或者数字 ++
- 可以使用操作符对标量进行操作
数字
可以分成以下几种类型:浮点数
34.3 ;
1.25e5 (==e 为 10 的指数 ==)整数
145
1_231_123(== 允许使用下划线 同 Verilog==)非十进制整数
0255 (8 进制 255)
0xf8 (hex)
0b100_0010(binary)- 算术操作符
== 算数运算符同 Verilog==
注意:** 为乘幂
字符串
字符串分为两种形式:“单引号”和“双引号”字符串单引号中的字符串
- 除单引号和反斜线字符外,单引号内的所有字符都代表其本身(同 shell)
- ” \ +’ ” 表示单引号
- ” \ + \“表示反斜线
- “\n” 表示反斜线和 n 这两个字符
双引号中的字符串
- 反斜线字符是转义字符,可以用来表示控制字符
- \n 表示换行
- 双引号支持变量的内插
- 下面这 4 个字符在双引号内有特殊含义
** 如果要在双引号内使用该字符,需要加反斜线 \ 进行转义 –同 shell**$ 表示变量
@ 表示数组的开始
”
\
双引号中的字符串操作
- 拼接操作符 : .
拼接操作符用于将两个字符串连接起来
eg: “who” . “are” . “you?\n”
等价于”who are you ?\n”
2. 重复操作符:X
该操作符会将左边的操作数与它本身进行连接,重复次数看右边的操作数
eg: “bag”x3
结果为 “bagbagbag”
Scalar Variable
标量变量的定义
标量变量以 $ 开头,后面接 Perl 标识符(由字母、数字、下划线组成,但必须由字母或者下划线开始)—按:那不就是说标识符不能以数字开始
要慎重使用 perl 默认的变量
perl 的一些特殊的内置变量:
$n包含上次匹配的第n个字符串
$_ 默认输入和模式匹配内容 —按:就是没有使用变量就是使用的默认变量
$$ 运行当前Perl 脚本的进程号—PID
$@ 命令eval的错误消息,如果为空,则表示eval 命令执行成功
$? 进程结束的状态
$! die命令抛出的信息(系统错误字符串)
@ARGV 传给Perl脚本的命令行参数列表都存在这样的数组里面
@_ 传给子程序的参数列表
@INC 在导入模块时需要搜索的目录列表 ,比如倒入一些第三方模块的时候,Perl 就会在这些数组里面去寻找这个模块(INCLUDE)
标量变量的赋值
$value = 5;
双目赋值操作符
value=value=value + 3 ;
equal: $value += 3;
==note== 拼接运算符也可以用双目赋值操作符
标量变量的内插的补充
- 标量变量在双引号中可以内插
- 输出 $ 符号需要在前面加上 \ 进行转义,或者使用单引号
- 如果要在变量内插后紧接着输出字母、数字或者下划线,可以使用花括号 {}.
“today is {year}_{year}_{mon} _${day}\n”
这样使用的变量就是 year mon 和 day 而不是带下划线的变量 .