Title:Perl学习
-
个人学习策略
主用python.
看懂perl 和 tcl 即可。
-
之前的存货
开始搬砖后,整理 ”网络发布版笔记“ 的心思寡淡了好多,可能就是被工作榨干的原因8…
但今天至少得赶个1024节日… ( ̄▽ ̄)"~
1 介绍
-
是什么
Perl (Practical Extraction and Report Language),实用报表提取语言。
偏向文本处理的脚本语言。
-
脚本的作用
实现一些自动化工作:如写个tcl,由当前系统时间自动生成唯一的版本号;设计一个脚本进行数据格式转换;用脚本实现个人HDL编码习惯的module模板;
脚本语言是文本文件,解释执行。
-
安装
perl的编译器有 ActiveStatePerl 和 Strawberry Perl,前者轻量级,后者包含些第三方库CPAN,自己定,以下以后者为例;
-
下载语言包位置:Perl Download
-
检查系统环境变量path是否更新:
cmd中输入:
perl -v;有显示则成功,否则自己加环境变量到path中:
把perl 安装地址
.\perl\bin加到path环境变量里即可.(重新验证得重开cmd)
-
-
各种脚本语言的对比:perl、tcl、python
大部分Linux都自带了这三种脚本语言。
-
正则表达式
三个都支持正则:但perl支持最好最简洁、py兼容Perl的标准但要re库、tcl用的是另一套标准。
-
Python
语言风格:类似matlab;
优势:写一些开发用个人的小工具,有更丰富、成熟的库而更有优势。
缺陷:EDA工具支持性不好;分为 2.7 和 3.x 俩不兼容的版本,有点麻烦;
后缀:
.py -
Tcl
语言风格:类似C库,被C调用很方便;
优势:EDA支持性好;
EDA工具内置的console都集成、支持 tcl,如:ModelSim、Vivado、Quartus;
故tcl能更好地拓展EDA工具的功能和使用。
缺陷:扩展库不够多而且老;
后缀:
.tcl -
Perl
语言风格:类似shell的拓展;
优势:深度集成正则,故很适合文本处理;优势之一是丰富的第三方库(CPAN)
缺陷:库的质量难以保证;对文本外的开发没啥优势;且py也支持perl的正则标准,够用了。
perl的缺陷是更偏向文本处理、库的稳定性也不够。
后缀:
.pl或.plx
-
2 使用/运行
-
关键文本头
#!自己的perl目录/bin/perl -w-w表示开启warning.不知道目录,linux下可用
which perl查; -
Linux下的系统指令和Windows下不同,Windows下是dos指令;
-
运行
执行文件:
perl 文件名.plcmd中执行单行:
perl -e 语句
3 语法(看完后查阅用)
3.1 叙述性语法
碎片语言风格
-
行尾要有分号
; -
不关心空白;
-
弱语言类型,类似makefile.
-
语句块的
{}不能省略,不像C的单句可省。 -
运算符同C,
多了个乘幂
**;逻辑非用的是not;逻辑或、逻辑且,支持and/or也支持&& / ||;支持
+=、++这类的使用;
变量定义和使用
-
定义
标量 用
$;后面正则元字符里还有符号$,勿混淆!- 未定义的变量,直接用
$,那自然是空(不是空格哈).
数组 用
@哈希 用
% - 未定义的变量,直接用
-
使用
使用都是用
$!直接加符号即可,不用括号.e.g. 定义和使用都是
$var;别和makefile弄混了—— makefile使用需要有{},perl不用. -
数值的使用
默认把整数按浮点数存;
$a = 666; $a = 666.66 + 6.6e+6 -0.66; -
数组
#定义 @array = (1,2,3); @str = ( "1", "2", "3"); #使用 print $str[0]; # 数组复制 @copy = @array; # 获得数组个数
Perl学习:文本处理脚本语言及其与Python、TCL对比,

本文介绍了Perl,一种用于文本处理的脚本语言,与Python和TCL进行了比较,强调了Perl的正则表达式优势和库的丰富性,同时提到了其在编程风格和适用场景的局限性。
最低0.47元/天 解锁文章
831

被折叠的 条评论
为什么被折叠?



