本公众号【读芯树:duxinshu_PD】主要介绍数字集成电路物理设计相关知识,才疏学浅,如有错误,欢迎指正交流学习。 这是集成电路物理设计的第七个系列【脚本语言】的第十八篇文章,本篇文章主要介绍perl相关内容: 01 — 目录操作 #显示目录下的所有tcl的文件 $dir='/home/user/*.tcl'; my @files=glob($dir); foreach (@files) { print '$_\n'; } opendir (DIR, '/home/user/scr') or die 'no this dir: $!'; foreach (sort grep(/^.*\.tcl$/, readdir(DIR))) { print '$_\n'; } closedir DIR; #创建一个新目录 $dir='/tmp/new_folder'; mkdir ($dir) or die 'no create $dir, $!'; #删除目录 $dir='/tmp/new_folder'; rmdir ($dir) or die 'no create $dir, $!'; #切换目录 chdir ($dir) or die 'no change $dir, $!'; 02 — 特殊变量
03 — 正则表达式 m// #匹配 =~表示匹配, !~表示不匹配 i: 忽略大小写;m:多行模式;o:仅赋值一次;s:但行模式;x:忽略模式中空白;g:全局匹配;cg:全局匹配失败后,允许再次查找。 $` #匹配部分的前一部分字符串 $& #匹配字符串 $' #匹配字符剩余的部分 #匹配 $str='this is a string'; if ($str=~/is/) { print 'pattern is found!\n' }
s/old/new/ #替换 i:忽略大小写;m:行开头和结尾是“^”和“$”; s:'.'包括换行符;x:忽略空白符;g:替换所有匹配字符串。 $str='this is a string'; $str=~s/this/that/; #将this替换为that print '$str\n';
tr/// #转化 c:转化所有未制定字符;d:删除所有指定字符;s:将多个相同的输出字符合并一个。 $str='this is a string'; $str=~tr/a-z/A-Z/; #将小写转化为大写 $str=~tr/\t / /d; #将tab空格删除 $str=~tr/0-9/ /cs; #提取数字 04 — 正则表达式2
05 — 进程管理 #反引号:可以执行Unix命令 $dir='/home/user/tmp/'; chdir ($dir) or die 'no change $dir, $!'; @files=`ls -trl`; foreach $file (@files) { print $file; } 06 — 参考文献
|
|