perl脚本里启动eda工具后怎么继续输入命令

perl脚本里启动eda工具后怎么继续输入命令,第1张

回车后就可以输入。

在IC设计中,有很多EDA工具会产生各类的报告文件,需要人工去检查。

Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。Perl 最重要的特性是Perl内部集成了正则表达式的功能。

在IC设计中,很多EDA工具使用具有前后关系,比如进行形式验证,比较Verilog代码和综合网表的一致性,就需要准备好网表.vg文件才能启动形式验证 *** 作。

在 perl 中, 本身独立 / / 两个斜杠里面的为正则表达式, regular expression, 又叫 regex. 作用就预设一个字串匹配的模式. 例如:

$re = qr/^\d$/ # 这正则的意思是, 由开始至结尾之间只有一个数字

for ( 0..99 ) {

    print "$_ match the pattern" if $_ =~ $re

} # 最後你会发现, 0-9 都是 match 的, 但就不见了10 到 99, 因为有两个数字

split 的意思就是按你後面正则所设的模式, 将後面第二个参数 ( 即 $_ ) 进行切割, 在这里是 / /, 所以, 如果你输入一个句子 "my name is mike", 那这个 for 循环里就会处理到 "my" , "name", "is", 和 "mike" 这四个字

s/// 的作用是 perl 中对字串作出寻找并取代的涵数,

第一个 / / 之间是要找的模式,

第二个 / / 之间的是, 如果找到能匹配前面那种模式时, 要取代成的文字,

最後那个 g 的位置叫 modifier(不知道中文叫甚麼), 可以当作对前面第一节正则的追加功能, 这些 modifiers 有很多有 m s i x p o d u a l 这麼多个, 另外还有 e 和 g 是为 s/// 而设的, 这些 modifiers 都是可以用在一起的, 例如 i 是不分大小写, g 是贪婪匹配, s/xxx/yyy/ig 就是不分大小写的贪婪匹配

g, 所谓的贪婪匹配就是会将字串搜到尾的意思, 如果没有贪婪匹配的话, perl 在搜到第一个匹配时就会停止, 例如

$x = "123456"

$x =~ s/\d/_/

print $x # _23456

$x = "123456"

$x =~ s/\d/_/g

print $x # ______

这就是有 g 和没 g 的分别

最後回到你的问题上, 如果我输入的是 "my name is mike"

那麼, 最後得出的结果就会是 "yy naye is yike"

s/m/y/g 的意思就是, 将每个字从头到尾找出 m 字元, 再取代成 y 字元


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11542176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存