perl
亓磊
牛逼的人生,不需要简述
展开
-
perl自定义脚本的开发flow技巧。有助脚本追溯和维护。
原创 2022-05-15 23:17:26 · 563 阅读 · 0 评论 -
perl里如何重命名名称带^M的目录
背景解决办法背景举例:aaa^M 其中^M是一个dos格式字符,在shell终端里,是这么打出来的“ctrl+v,然后enter回车”。在shell里, mv aaa^M aaa; 重命名操作成功。在perl里, mv aaa^M aaa; 重命名操作无法成功。会报错。怎么解决?解决办法[qilei@localhost test]$ mkdir aaa^M[qilei@localhos原创 2017-05-28 09:39:12 · 1337 阅读 · 0 评论 -
perl 入门推荐
Learn perl in Y Minutes https://learnxinyminutes.com/docs/perl/ 我取名:分钟级别的perl教程 缺点:没讲正则表达式。正则表达式是文本处理的匹配符相关内容;如果只是了解SOC仿真环境的话,正则表达式,也可暂时略过。perl,中文手册,在线手册 - 脚本之家 http://shouce.jb51.net/perl/index.ht原创 2016-11-24 20:36:51 · 1539 阅读 · 0 评论 -
perl编写之前的一些习惯细节
变量环境变量的传递文件文件目录文件名路径的解析操作命令行参数调用shell命令变量的debug主体结构的划分脚本执行的关键信息保存在日志里下述信息,仅供自己编写新脚本之前的回顾内容。 虽然perl有很多实用的模块,可以利用;但是不使用模块编写代码,更容易理解。变量无非就是标量、数组、散列。 散列是以字符串作为索引的。环境变量的传递环境变量,在perl里就是散列类型。 %ENV原创 2017-03-05 19:10:18 · 734 阅读 · 0 评论 -
perl二进制、十进制、十六进制的表达方式和高位补零方法;十进制和十六进制的转换方法
IC方向,常见的进制表达,一般有二进制、十进制、十六进制。另外,还有高位补零的需求。 mark,以备不时之需。二进制、十进制、十六进制的表达方式qilei@AFAAW-704030720:~$ cat 11.pl#!/usr/bin/perluse warnings;use strict;my $v=9;printf("%d\n",$v);$v=10;printf("%x\n",$v原创 2017-07-08 22:57:24 · 14176 阅读 · 0 评论 -
perl 正则表达式 匹配字符串 或逻辑
mark,备忘#!/usr/local/bin/perluse strict;use warnings;my @data=qw( nihao wohao );foreach(@data){ if($_ =~ /^(ni|wo)hao$/){ print $_ }}原创 2017-09-23 08:40:15 · 7287 阅读 · 0 评论 -
perl内置的DATA文件句柄
当前,个人使用,最常见的perl脚本应用场景是针对文本的操作。 编写perl脚本的时候,经常要手动创建一个待处理的文本。 其实,perl内置了一个DATA文件句柄,就是为了perl脚本测试用的。 mark,记录一下。#!/usr/local/bin/perluse strict;use warnings;while(<DATA>){ print $_;}__DATA__原创 2017-09-23 08:54:38 · 1469 阅读 · 0 评论 -
perl实现verilog ifdef所在域的判断
功能描述perl实现verilog ifdef所在域的判断。 1. emacs verilog-mode用于实例化很方便;但是常见项目,均存在大量ifdef的预编译命令。而emacs verilog-mode不支持ifdef。 2. 手动实例化,往往带来不可预料的错误。功能演示代码#!/usr/bin/perluse strict;use warnings;open my $ifile,"<原创 2017-12-15 23:41:02 · 1495 阅读 · 0 评论 -
grep、sed、awk、perl等对正则表达式的支持的差别
以perl的正则为基准,不同的用法以粉红色标出。 转载来自 grep、sed、awk、perl等对正则表达式的支持的差别 - 流浪的洋葱 https://my.oschina.net/onionsheep/blog/346926转载 2018-01-01 19:06:12 · 2130 阅读 · 0 评论 -
bash/perl判断文件是否存在,以及常见应用场景
一、 源代码实现个人常见场景,大多出现在linux shell或者perl里。#!/bin/bashfile="/etc/hosts"if [ -f "$file" ]then echo "$file found."else echo "$file not found."fi#!/usr/bin/perl -w my $file = "/etc/hosts"原创 2018-01-13 09:28:14 · 2209 阅读 · 0 评论 -
perl实现动态分组匹配
举例perl代码实现举例有一个比较常见的情景,比如excel里,一行的列数目是动态的。怎么获取这些动态的每一列数据呢?简单例子, my $str=”5.4..032…..33442.442….23..2323..2323..3434..3434..”; 中间有任意个点分隔,但是不知道会有多少个匹配的数字。怎么用perl实现,并打印出每一个匹配的数字?perl代原创 2018-01-16 23:31:25 · 653 阅读 · 0 评论 -
perl实现,匹配并打印一个段落
有一个应用场景,实现后,觉得还是记录下来。以后还会遇到的。举例根据## ==这样的行,匹配并打印该段落范围的所有行。 另外一点,打印出的内容,只允许存在max最大值和min最小值。########## sdsdfsdf## 1123123########## ======== 1sdfs ======## ====== 2saas ======max 0.2323max原创 2018-01-16 23:43:05 · 2244 阅读 · 0 评论 -
perl初始化数组,@max=()和@max=undef,以及@max="";三者都是不一样的。
定义数组 my @max=(); 和 my @max=undef; 竟然不是一回事。 在push @max,"ssss"命令之后, 第一种写法的$max[0]="ssss" 第二种写法的$max[0]是undef,$max[1]="ssss"百度中,也有 人遇到类似的问题: 写了个包含数组的几句代码,发现始终最终返回的数组大小始终不对。后来才发现犯了个错误。 开始时原创 2018-01-09 23:17:47 · 2156 阅读 · 0 评论 -
Perl调用shell命令方法小结(system/反引号/exec)
一、system perl也可以用system调用shell的命令,它和awk的system一样,返回值也是它调用的命令的退出状态.[root@AX3sp2 ~]# cat aa.pl#! /usr/bin/perl -w$file = "wt.pl";system("ls -l wt.pl");$result = system "ls -l $file";print "$result转载 2017-02-07 22:55:04 · 14921 阅读 · 0 评论 -
perl文件句柄的理解(tell、seek)以及文本多行匹配的一种算法
perl文件句柄的理解文本多行匹配的一种算法下述理解,完全是个人体会。自觉有点道理。perl文件句柄的理解句柄,又叫指针。 文件句柄,就是指向文件内容的内存空间范围的起始地址;文件句柄读取一次,起始地址+1,即读取下一行(perl里默认是一行一行读取文本的。可以设置间隔符,使之不是\n)。这一段,是个人体会,不知正确否。如下面举例,连续两次读取文件句柄$fileh,发现第二次读取文件句柄【特指原创 2017-05-04 23:01:00 · 7601 阅读 · 0 评论 -
简述perl的引用(包括标量、数组、hash等数据类型的引用)
perl的引用数组的解引用二维数组的引用perl的引用,类似C语言的指针;意义都是指向一个内存空间的地址。比如下述例子中,脚本输出的信息SCALAR(0x7836d0)代表标量数据的存储地址;ARRAY(0x93d6d0)代表数组数据的存储地址。引用一般会包含“定义引用”,“解引用”两个步骤。引用的变量是标量类型,那么解引用就必须用标量符号$; 引用的变量是数组类型,那么解引用就必须用数组符原创 2017-05-07 10:29:49 · 3948 阅读 · 0 评论 -
perl自带的帮助手册
手册打开的命令,例如perlsyn手册:perldoc perlsyn语法手册 手册页 内容 perl 有些什么 perl 手册页 perldata 数据类型 perlsyn 语法 perlop 操作符和优先级 perlre 正则表达式 perlvar 预定义变量 perlsub 子过程 prelfunc 内建函数 perlm原创 2016-09-27 14:05:14 · 1482 阅读 · 0 评论 -
perl:verilog dummy module
https://code.csdn.net/snippets/1903886.git原创 2016-09-27 21:51:30 · 2082 阅读 · 0 评论 -
perl网络爬虫--举例(登录论坛eetop)
登录eetop论坛的perl脚本实现。步骤一:firefox里的firebug插件,获取post所需要的网址、参数信息。抓包使用说明 - zhaoyangjian724的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/zhaoyangjian724/article/details/46906833 手动登录eetop,利用firebug抓取post的网址和参数原创 2016-10-02 16:38:12 · 1908 阅读 · 0 评论 -
perl一些转载
Perl中判断数组或hash为空 - perlman - 博客园 http://www.cnblogs.com/softwaretesting/archive/2011/07/31/2122594.html perl中的引用 - perlman - 博客园 http://www.cnblogs.com/softwaretesting/archive/2011/07/26/2117730.htm转载 2016-10-06 00:33:13 · 767 阅读 · 0 评论 -
perl记录一些匹配的特殊应用
匹配成功后对下一行进行操作多行的操作perl或者多数支持正则表达式的脚本,一般应用都是基于行处理的。匹配成功后,对下一行进行操作算法:利用匹配成功的行号,标记下一行。然后判断这个标记,进行操作。多行的操作利用perl的分隔符。 perl的分隔符,默认是换行符。 如果对多行进行操作,那就改变分隔符实现。原创 2016-12-27 20:34:56 · 593 阅读 · 0 评论 -
perl读取二进制格式的bin文件
perl下读取二进制格式的bin文件步骤16进制数据的字节翻转处理工程中,板级系统通过IDE工具,dump出的数据格式是二进制的bin文件。 在linux下,直接cat命令,是乱码。 此时,如果有需求对该文件下的数据进行脚本处理;比如perl。可以参考下述方法。perl下读取二进制格式的bin文件步骤:open FILEHAND,"XXX.bin" 就是perl的读取文件命令binmod原创 2017-01-16 17:42:15 · 6580 阅读 · 0 评论 -
perl使用Getopt::Long模块,处理命令行参数
perl脚本的命令行参数处理办法代码解释脚本使用参考文档perl脚本的命令行参数处理办法perl自带Getopt::Long模块,就是一个函数库。 还有一个Getopt::Std模块,不过有了Getopt::Long,就Getopt::Std的用法就显得太简单了。下面的代码中,Smart::Comments是另外一个模块,以注释的方式调试和跟踪代码。但是,Smart::Comments不是p转载 2017-03-01 22:16:15 · 2697 阅读 · 0 评论 -
perl:debug方法
perl -d xxx.pl xxx.parameter 对perl程序进行debug基础点: 1. h 帮助 2. n 下一步next,跳过sub子函数; 3. s 单步调试,可以进入sub子函数;r 跳出子函数调试; 4. p 打印表达式的结果;w 监视表达式。 5. b 行号;断点设置。B 行号;断点去除。L;查看断点。 6. q 退出。参考文档: Perl篇:常用调试命令 -原创 2016-09-28 20:52:07 · 7622 阅读 · 0 评论 -
perl调用命令包含正则表达式,要注意转义符。[经验,还未证实]
sed -i 's/\.//g' file为什么在perl中,转义要用双\? 猜测:sed命令转义一次,perl转义一次?`sed -i 's/\\.//g' file`system("sed -i \'s/\\.//g\' file")原创 2016-10-08 11:42:58 · 2384 阅读 · 0 评论 -
perl之print、printf、sprintf的使用
printprintfsprintf区别参考文档详细用法,可以查看perl用户手册。 perldoc -f print perldoc -f printf perldoc -f sprintf他们各自支持的命令格式,都有三四种。但是常用的,也就一两种。print常用: print LIST print FILEHANDLE LIST不常用(主要是因为隐含的细节,会导致阅读上的障碍吧原创 2017-04-30 08:40:01 · 38417 阅读 · 0 评论 -
perl加载模块,曾经走过的弯路。
cpan lwp 会自动下载所需文件并安装。 如果提示@INC,不包含目录的信息。就在代码中手动设置。如下例所示:#!/usr/bin/perluse strict;use warnings;push(@INC,"d/tools/perl/perl-study/perl5");use LWP;原创 2016-10-02 17:20:02 · 3804 阅读 · 0 评论 -
[构思]依据verilog源文件中的关键代码及其注释,使用脚本命令生成代码文档
verilog代码文档的内容需求生成文档的实现思路依据verilog源文件中的关键代码及其注释,使用脚本命令生成代码文档。 针对的场景是工程里的代码没有文档,阅读不方便。注释没有章法,代码越长,阅读直观感受越差。脚本需求指数,个人认为二颗星吧(跟Doxygen工具功能类似)。脚本实现后,应该可以规范代码文档的格式,方便了解代码文档的质量。Doxygen_百度搜索 https://www.ba原创 2017-05-14 00:22:28 · 2148 阅读 · 0 评论 -
perl:取整、四舍五入、向上取整、向下取整
取整int 四舍五入round 向上取整POSIX::ceil 向下取整就是int或者POSIX::floor原创 2016-09-26 13:34:23 · 37459 阅读 · 0 评论