linux-Perl-语言入门

http://jianlee.ylinux.org/Computer/Perl/perl_base.html

1,第一个Perl程序

Perl的发明人:Larry Wall。

Perl”,指语言本身;“perl”,指程序运行的解释器。

#!/usr/local/bin/perl -w
print "Hello,world!/n";

在Unix系统中,如果文本的第一行前两个字符是“#!”,接着的就是执行下面文件的程序。perl在你的系统的哪里,可以用which 或者whereis来查找。一般都在/usr/bin/perl或者/usr/local/bin/perl这两个地方。-w表示开启警告。

1.1 Perl 内嵌的警告

使用 -w 参数可以打开警告:
$ perl -w perl程序   # 命令行执行警告
#!/usr/bin/perl -w  # 源代码中使用警告

1.2 Perl特殊的地方

Perl通常允许使用任意数量的空白(如空格,制表符,换行符)来使程序易于阅读。
Perl中没有“main”程序。
Perl中不需要声明变量。
Perl严格区分大小写。
Perl中的括号可以省略。
Perl中所有数字内部的格式都是双精度浮点数。

2,语法

2.1 标量

标量是 Perl 中最简单的数据类型。大多数的标量是数字(如 255 或 3.25e20)或 者字符串(如 “hello”)。

2.1.1 数字

perl中所有数字内部的格式都是双精度浮点数。程序中的整数被当做等价的浮点数来处理。

浮点数

1.25
-12e-24 #- -12x10 的-24 次方(很小的负数)
-1.2E-23 #指数符号可以大写(E)
整数
-40
61298040283768#为方便阅读可作:61_298_040_283_768
非十进制整数
0377     #八进制数字 377,等同于十进制数字 255
0xff       #十六进制数字 FF,等同于十进制数字 255
0b11111111 #等同于十进制数字 255
数字操作符
2+3       #2+3,5
5.1-2.4   #5.1-2.4,2.7
3*12      #3*12,36
14/2      #14/2,7
10.2/0.3  #10.2/0.3,34
10/3      #通常是浮点除,3.33333... ...

2.1.2 字符串

Perl能计算长度,不用靠null来判断字符串是否结束。

单引号字符串

'fred' #四个字符:f,r,e,d
'' #空字符(没有字符)
'hello\n'
'\'\\' #单引号(')跟着反斜线(\)字符串
单引号中的 "\n" 不会被当作换行符来处理。
双引号字符串
"barney"         #等同于 'barney'
"hello world\n"  #hello world,换行

2.1.3 变量

变量由符号($)后接 Perl 标识符构成。Perl大小写是严格区分的:变量$Fred 和变量$fred是不同的。

$fred = 17;
$barney = "hello";

2.1.4 Boolean 值

perl 没有专门的 Boolean 值, 真假值这样判断:
如果值为数字,0 是 false;其余为真
如果值为字符串,则空串(‘)为 false;其余为真
如果值的类型既不是数字又不是字符串,则将其转换为数字或字符串后再利用上述规则
这些规则中有一个特殊的地方。由于字符串'0' 和数字 0 有相同的标量值,Perl 将它们相同看待。也就是说字符串 '0' 是唯一一个非空但值为 0 的串。

2.1.5 undef 值

一种值。变量被赋值之前使用它会有什么情况发生呢?通常不会有什么严重的后果。变量在 第一次赋值前有一个特殊值 undef, 按照 Perl 来说就是:"这里什么也没有,请继续"。如果这里的“什么也没有”是一些“数字”,则表现为 0。如果是“字符串”,则表 现为空串。但 undef 既非数字也非字符串,它是另一种标量类型。

defined 函数

能返回 undef 的操作之一是行输入操作,<STDIN>。通常,它会返回文本中的一行。 但如果没有更多的输入,如到了文件的结尾,则返回 undef。要分辨其是 undef 还是空串,可以使用 defined 函数, ,如果其参数是 undef 值就返回 false,其他 值返回 true。
$madonna = <STDIN>;
If ($defined ($madonna)){
   print "The input was $madonna";
} else {
   print "No input available!\n;
}
如果想声明自己的 undef 值,可以使用 undef:
$madonna = undef ; #同$madonna 从未被初始化一样。

2.2 操作符

2.2.1 字符串操作符

链接操作
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Verilog-Perl是一个用于Verilog语言的开源工具,它结合了Perl编程语言的强大功能和Verilog的硬件描述语言特性,旨在提供一种快速、灵活和高效的方法来处理Verilog代码。 Verilog-Perl提供了丰富的功能,包括解析和生成Verilog代码、模块实例化、层次化遍历、参数化和条件化编译等。使用Verilog-Perl,开发人员可以轻松地从原始的Verilog代码中提取信息、进行代码修改和生成新的Verilog文件,这对于设计验证、测试环境的自动化以及代码重用都非常有帮助。 与其他Verilog处理工具相比,Verilog-Perl的一个显著优势是它的灵活性。Perl编程语言具有强大的正则表达式和文本处理能力,这使得Verilog-Perl能够处理复杂的Verilog代码和设计结构。开发人员可以编写自定义的Perl脚本,利用Verilog-Perl提供的函数和模块,来实现各种Verilog代码处理任务。 另外,Verilog-Perl还支持与其他常用工具的集成。开发人员可以使用Verilog-Perl生成的Verilog代码作为输入,再与仿真器、综合工具、形式验证工具等进行集成和协同工作。 总的来说,Verilog-Perl是一个强大的工具,可以帮助开发人员处理Verilog代码、加快设计验证和测试环境的开发进程,提高代码重用的效率。它的灵活性和与其他工具的集成能力使得它成为Verilog设计流程中不可或缺的一部分。 ### 回答2: Verilog-Perl是一种用于编写和处理Verilog仿真测试环境的脚本语言。它结合了Verilog硬件描述语言Perl脚本语言的功能,可用于自动化测试、仿真验证和设计分析等任务。 Verilog-Perl提供了一些用于读取和解析Verilog源代码的函数和模块。通过这些函数和模块,用户可以方便地读取和操作Verilog代码中的模块、端口、信号和语句等信息。这对于自动化测试和仿真验证非常有帮助,可以减少手动操作的工作量,提高工作效率。 此外,Verilog-Perl还提供了一些用于生成和修改Verilog代码的函数和模块。用户可以使用这些函数和模块来生成自定义的测试向量、修改模块的行为以及生成其他辅助代码。通过这些功能,用户可以快速创建和调整测试环境,以满足不同的验证需求。 Verilog-Perl还可以与其他常用的Perl模块和工具进行集成,扩展其功能和灵活性。用户可以使用Perl的正则表达式、文件处理和其他特性来处理Verilog代码和仿真结果,实现更复杂的验证任务。 总之,Verilog-Perl是一种功能强大的工具,可以帮助工程师简化Verilog代码的处理和测试环境的创建。它可以提高工作效率,减少出错的可能性,并促进验证的自动化和标准化。使用Verilog-Perl可以更高效地进行硬件设计和验证工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值