首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PerlIC的应用 | 仿真结果自动通知邮件

跑仿真时,尤其是后仿,往往需要耗时很长时间,少则几小时,多则几天,我们不可能一直守在电脑前,因此,设置自动邮件提醒很有必要; Perl实现一个简单的脚本: 通过搜索仿真sim.log FAIL 、...ERROR 、PASS等字符,来判断仿真结果,将其记录到report.log,包括仿真log路径,时间等信息,并实时发送邮件; #!...usr/bin/perl -w use strict ; my $result ; my $now = `date +%Y-%m-%d' '%H:%M:%S`; check_PASS_or_FAIL...report.log "); } sub sendmail{ system("mail -s \"END\" \"xxx\@xxx.com\" < report.log"); } 邮件结果...: 2022-01-28 18:52:35 PASS /home/perl/log Mail扩展知识 “mail test“为邮件内容,test为邮件主题 echo “mail test”|mail

1.1K30

Perl进阶》——读书笔记(更新至14章)

多个数组上完成相同的任务 4.2 Perl图形结构(PeGS) 4.3 数组引用 4.4 嵌套的数据结构 4.5 用箭头简化嵌套元素的引用 4.6 散列的引用 4.7 数组与散列的嵌套引用 4.8 检查引用类型...Build test % perl Build install 2.7 搜索路径 perl是通过@INC数组里的路径去搜索模块的,可以通过以下两种方式获取@INC的值: % perl -V %...可以使用 Try::Tiny 来处理复杂的异常: use Try::Tiny; my average = try { total / 3.4 使用eval动态编译代码 operator ( qw(+...注意:类似Perl动态语言无法自动将“尾递归”转为循环,因为再一次调用子例程之前,子例程定义可能改变。...多个数组上完成相同的任务 4.2 Perl图形结构(PeGS) 4.3 数组引用 4.4 嵌套的数据结构 4.5 用箭头简化嵌套元素的引用 4.6 散列的引用 4.7 数组与散列的嵌套引用 4.8 检查引用类型

4.7K50
您找到你想要的搜索结果了吗?
是的
没有找到

动态数组公式:动态获取某列首次出现#NA值之前一行的数据

标签:动态数组 如下图1所示,在数据中有些为值错误#N/A数据,如果想要获取第一个出现#N/A数据的行上方行的数据(图中红色数据,即图2所示的数据),如何使用公式解决?...图1 图2 如示例图2所示,可以单元格G2输入公式: =LET(data,A2:E18,i,MIN(IFERROR(BYCOL(data,LAMBDA(x,MATCH(TRUE,ISNA(x),0...如果想要只获取第5列#N/A值上方的数据,则将公式稍作修改为: =INDEX(LET(data,A2:E18,i,MIN(IFERROR(BYCOL(data,LAMBDA(x,MATCH(TRUE,ISNA...也可以使用公式: =LET(d,FILTER(E2:E18,NOT(ISNA(E2:E18))),DROP(d,ROWS(d)-1)) 如果数据区域中#N/A值的位置发生改变,那么上述公式会自动更新为最新获取的值...自从Microsoft推出动态数组函数后,很多求解复杂问题的公式都得到的简化,很多看似无法用公式解决的问题也很容易用公式来实现了。

8010

Perl语言入门系列之二

\n"; } 运行结果如下所示: Perl的each是提取哈希key-value对的函数,5.12及以上的版本,each也可以对数组进行操作,提取元素的索引号和值,常和循环结构搭配使用,如下所示...可以命令行输入命令“perl -v”来查看当前版本,运行结果如下所示: ⑷foreach控制结构 foreach是Perl数组或列表进行处理的一种循环结构,其含义是从列表或数组逐项取值赋值给控制变量...\n"; } 运行结果如下所示: 实际上,控制变量就是动态的列表或者数组,对控制变量的操作会改变列表或数组元素,这也是foreach的强大之处,而当循环结束之后,控制变量会被自动还原为循环之前的值,如果之前没有赋值...Perl,子程序最后一次的运行结果会被自动当成子程序的返回值,中间过程的结果会被随即丢弃。...目前版本的Perl不允许state声明数组和哈希赋具体的值。 2.4哈希函数 哈希是一种结构比较复杂的数据,Perl中使用哈希函数对哈希数据进行处理。

1.2K30

Perl语言入门系列之一

一般Linux系统都会预安装perlWindows系统运行Perl脚本则需要安装软件ActivePerl。...Perl变量因赋值而存在,不需要预先声明变量,未赋值之前为undef,而赋值也是Perl唯一的声明变量的方法。...我们可以同一个程序里为标量变量和数组变量取相同的名字,因为Perl不同类型的数据是储存在不同空间,也即$fred和$fred[0]毫无关联。...$n)   #也可使用变量及其表达式来界定范围 Perl,还可以使用qw(quoted word)简写创建字符串列表,这样可以省去很多引号、逗号的书写,如下所示: qw(fredbarney betty...() 在上面例子splice从数组array拿出元素并赋值给removed,这时候原数组少了元素,而数组removed结果为提取的元素而不是array的处理结果,splice相当于同时对两个数组进行操作

1.4K30

perl语言十分钟入门【零基础可入】

hello hello hello 最后要说明一点,Perl是弱类型语言,字符串和数字会相互转化,这一点和php一样。 3.变量 (1)变量以$开头,后接一个标示符; (2)如何用变量获取用户输入?...4.1数组 和c的数组使用非常类似: $array[0]=”a0″; $array[1]=”a1″; $array[2]=”a2″; 4.2列表 圆括号内的一系列值,构成列表: (1, 2, 3) (...(2)函数定义处使用“默认变量”获取参数列表; #!.../usr/bin/perl -w use strict; while() { chomp(); print("$_!!!\n"); } 该脚本的功能,是输入每行后面加上!!!.../diamond.pm out.txt 则输出结果会重定向到out.txt 输入输出到文件,需要打开、使用、关闭文件句柄 (1)打开文件句柄: open LOG, “>>log.txt”; open

2.1K71

十分钟学perl够用(客服MM都懂了)

hello hello hello 最后要说明一点,Perl是弱类型语言,字符串和数字会相互转化,这一点和php一样。 3.变量 (1)变量以$开头,后接一个标示符; (2)如何用变量获取用户输入?...4.1数组 和c的数组使用非常类似: $array[0]=”a0″; $array[1]=”a1″; $array[2]=”a2″; 4.2列表 圆括号内的一系列值,构成列表: (1, 2, 3) (...2)函数定义处使用“默认变量”获取参数列表; #!.../usr/bin/perl -w use strict; while() { chomp(); print("$_!!!\n"); } 该脚本的功能,是输入每行后面加上!!!.../diamond.pm out.txt 则输出结果会重定向到out.txt 输入输出到文件,需要打开、使用、关闭文件句柄 (1)打开文件句柄: open LOG, “>>log.txt”; open

1.2K70

Perl语言入门》——读书笔记

可读的系统错误信息 $#array 数组长度 $_ 默认变量 $^R 内嵌代码的运行结果 $" 字符串数组内插的分隔符,默认为空格 $ARGV 当前蒸菜处理的文件 @ARGV 可执行程序的参数列表...#rocks获取元素个数rocks[9]; # 10 字符串数组内插:自动添加分隔符,此分隔符是由特殊变量$"的值指定的,默认为空格 变量上下文和列表上下文 @people = qw(...: 2 3 unshift @rocks $elem; # @rocks: 1 2 3 splice # format: @delete splice @dst, 位置, 删除个数, 插入元素 # 原来的数组删掉...于grep区别 map使用代码块的最后一个表达式的实际计算结果,所以最终会返回一个这样的结果组成的列表。...map使用的表达式(selector)是一个列表上下文环境,意味着可以一次返回多个元素的结果 my @data = (4.75, 1.5, 2, 1234, 6.9456, 12345678.9,

2.5K20

分解 - 命令注入

同样,基于Perl的应用程序:易受攻击的代码假设攻击者提供了这样的域名: use CGI qw(:standard); $name = param(‘name’); $nslookup = “/path...open()然后该语句将处理如下字符串: /path/to/nslookup cwe.mitre.org ; /bin/ls -l 结果,攻击者执行“ /bin/ls -l”命令并获取程序工作目录(CWE...攻击者可以上传恶意程序或文件、获取密码、获得后门访问权限、提升权限、执行意外命令、破坏服务器上的任何敏感文件,或将攻击升级到网络接口。...如何识别 WebApps 的命令注入漏洞? URL 显示文件名的 Web 应用程序Perl — 将管道符号附加|到文件名的末尾。...dir=%3Bcat%20/etc/passwd 了解特殊字符命令注入的作用 将特殊字符与用户输入相结合,可让您修改或分散应用程序以执行意外操作。

1K00

Perl项目中的面向对象、继承默认加载和正则表达式的使用方法

在这个匿名哈希表,存储了所有实例属性。 其次,基于array方法,定义类时,我们将为每个实例属性创建一个数组,每个对象实例的本质是对这些数组的行的索引的引用。...在这些数组,存储了所有实例属性。 面向对象的基本概念 面向对象有许多基本概念。这里我们收到三个:对象、类和方法。...Perl可以使用任何名称。 可以使用各种Perl变量作为Perl对象。大多数情况下,我们将使用引用数组或散列。 接下来,我们使用Perl哈希引用为Person类创建一个构造函数。...的类方法通过@ISA数组继承,该数组包含其他包(类)的名称。.../usr/bin/perl package Employee; use Person; use strict; our @ISA = qw(Person); # 从 Person 继承 默认加载

1.8K40

Perl语言程序应用(资料汇总版)

"One character is: $1\n"; } for循环中,替换操作(注意实际上是_ =~ s/^(.)//)依次替换_的首字母,直至全部替换完毕退出循环,运行如下所示: Perlfor...模块 Perl的不断发展过程,世界各地的用户为了解决各种棘手问题,积累了大量已经成熟的开源Perl模块,多半可以Perl综合典藏网(CPAN,https://metacpan.org/)上下载安装...例如我们CPAN检索PerlIO大类下的拓展模块gzip,结果如下所示: 进入PerlIO::gzip的主页,即可看到这个拓展模块的详细介绍——为Perl添加一个针对gzip压缩文件输入输出的数据层...home/tengwenkai/perl5/lib 不过一般不建议这么做,除非默认安装路径(可以使用perl-V查看,@INC数组)没有写入权限,否则在模块使用时就得添加完整的路径或者修改默认搜索路径...use引用模块时,如果模块名称包含::双冒号,该双冒号将作为路径分隔符,相当于Linux下的/,当然这里前面省略了@INC数组包含的默认搜索路径。

3.6K30

Perl语言入门系列之三:文件输入与输出

⑵参数数组 钻石操作符无法分开处理不同命令行参数指定的文件,perl编译器的命令行参数实际上是储存在事先建立的特殊数组@ARGV,这个数组的值就是由命令行参数组成的列表,可以像其他数组一样进行操作,我们可以通过调取这个数组的元素实现不同参数的选择处理...,也可以脚本强制指定文件。...; } 运行结果如下所示: 可以发现,钻石操作符总是读取当前@ARGV里指定的文件,因此可以对这个数组进行操作使其读取不同文件的内容。...,如下所示: open (FILE1, "<$ARGV[0]"); open (OUT1, ">$ARGV[1]"); open (OUT2, "<$my_input"); Perl 5.6及更高的版本...为Perl存储系统内置错误信息的变量,运行上面代码,结果如下所示: 由于我们根本没输入file.txt这个文件,所以这里给出报错“No such file…”,这里die函数会给出发生错误的脚本名称及行号

2.3K20

【生信菜鸟经】如何系统入门Perl

官网:https://www.perl.org/ 函数如何用:都可以http://perldoc.perl.org/perl.html 查到 论坛:http://www.perlmonks.org/...2 知识要点 在看书的同时,你必须记住和熟练使用的知识点是下面这些: 理解perl里面的三种变量表示方式 $ 表示单个变量 用单双引号区别,q(),qq() @ 表示多个变量组成的数组...,qw() % 表示关系型变量-hash 变量不严格区分类型,没有int/float/double/char这样的概念 三种变量都有对应的操作技巧: 简单变量的操作函数 Numerical...=, , +, * String operators: lt, gt, le, ge, eq, ne, cmp, ., x 数组操作(pop/push/shift/unshift/splice...具体需要在实战里面体会:http://www.biotrainee.com/forum-90-1.html 生信人必练的200个数据处理任务(欢迎大家去练习) 变量内容交换,字符型转为数值型,字符串转为字符数组

1.8K90

Perl语言模板及配置

R语言的数据分析领域有应用越来越广泛,今年上升两位至14名;Shell由于版本和各类较多,50-100名间有4种,此语言只建议快速解决小问题,不建议写太长的任务,很容易跨平台不兼容。.../usr/bin/perl -w # 加载时间管理,参数管理,文件名和路径处理的基础包,无须安装 use POSIX qw(strftime); use Getopt::Std; use File::Basename...; ############################################################################### #命令行参数据的定义和获取,记录程序初始时间...数组结构数据库,无唯一ID,但有顺序要求 #my (@tmp1,@tmp2); #database in array #while () { # chomp; # my...) } 模板导入Editplus 将上述代码保存为template.pl,editplus中选择Tools — Preference — Template — Perl,点击template.pl右边的

1.2K60

Perl_基本数据类型(2)

常用的perl函数: chop 和 chomp: my $line = “hello\n”; chomp $line;   # 删掉$line末尾的”\n”($/指定) chop $line;       ...#删除$line最后一个字符 split 和 join:       # 切割函数、胶水函数 $str = “A:B:C”; my @arr = split/:/,$str; # @arr = qw(A...(2,3) 往数组开头加元素: unshift @arr, 1;                          # @arr: (1,2,3) 往数组后面加元素: push @arr, (4,5)...c a b values =3 1 2 defined 和 exists函数 defined:如果其参数未被定义,或值是 undef就返回 false,否则返回 true exists:检验一个keyhash...是否存在,存在时返回true,否则返回false my $str; defined $str;    # 返回false $str = 1; defined $str;    # 返回true my

47420
领券