day1 perl overview and basic synatax

本次笔记针对 E 课网 k.lin 老师的 《 Perl 在芯片验证中的实践 》 感谢万分 !


tips:

  • 编写脚本最好输出帮助信息–help message

    防止自己时间久了忘记 , 或者方便其他用户使用


synatax

Scalar Data

标量的概念

在 Perl 中也有类似于 单数和复数 的区别 , 标量代表单件事物 。
- 标量可以是 ++ 字符串或者数字 ++
- 可以使用操作符对标量进行操作

数字
可以分成以下几种类型 :
  1. 浮点数

    34.3 ;
    1.25e5 (==e 为 10 的指数 == )

  2. 整数

    145
    1_231_123(== 允许使用下划线 同 Verilog==)

  3. 非十进制整数

    0255 (8 进制 255)
    0xf8 (hex)
    0b100_0010(binary)

    • 算术操作符

    == 算数运算符同 Verilog==

    注意 : ** 为乘幂

字符串
字符串分为两种形式 : “ 单引号 ” 和 “ 双引号 ” 字符串
单引号中的字符串
  1. 除单引号和反斜线字符外 , 单引号内的所有字符都代表其本身 ( 同 shell)
  2. ” \ +’ ” 表示单引号
  3. ” \ + \ “ 表示反斜线
  4. “\n” 表示反斜线和 n 这两个字符
双引号中的字符串
  1. 反斜线字符是转义字符 , 可以用来表示控制字符
  2. \n 表示换行
  3. 双引号支持变量的内插
  4. 下面这 4 个字符在双引号内有特殊含义

$ 表示变量
@ 表示数组的开始

\

** 如果要在双引号内使用该字符 , 需要加反斜线 \ 进行转义 –同 shell**
双引号中的字符串操作
  1. 拼接操作符 : .

    拼接操作符用于将两个字符串连接起来
    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= v a l u e = value + 3 ;
equal: $value += 3;
==note== 拼接运算符也可以用双目赋值操作符

标量变量的内插的补充

  • 标量变量在双引号中可以内插
  • 输出 $ 符号需要在前面加上 \ 进行转义 , 或者使用单引号
  • 如果要在变量内插后紧接着输出字母 、 数字或者下划线 , 可以使用花括号 {}.

“today is {year}_ {year}_ {mon} _${day}\n”
这样使用的变量就是 year mon 和 day 而不是带下划线的变量 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值