分享

脚本语言介绍——perl(2)

 mzsm 2022-06-22 发布于湖北

本公众号【读芯树:duxinshu_PD】主要介绍数字集成电路物理设计相关知识,才疏学浅,如有错误,欢迎指正交流学习。

是集成电路物理设计的第七个系列【脚本语言】的第十六篇文章,本篇文章主要介绍perl相关内容

01

特殊字符

print 'filename is: '__FILE__ .'\n';    #打印当前文件名字print 'linenum is: '__LINE__ .'\n'; #打印当前行行号print 'packagename is: '. __PACKAGE__ .'\n'#打印包文件

02


数组

#数组以@开头@fruit=(apple, oriage, banana);print '$fruit[0]\n';        #打印apple@fruit[3]=peach;            #向数组添加元素@num=(0..9);                #定义数组0,1,2,...,9@alp=(a..z);                #定义数组a,b,c,...,zprint '@alp\n'              #打印数组print '@alp[4..8]'         #打印第4,5,6索引的数值,0_based  print '', scalar @alp, '\n' #数组大小$size=@alp;                 #数组物理大小,不是元素个数$max_index=$#alp;           #数组最大索引push(@arr,value);           #在arr结果加入valuepop(@arr);                  #删除arr最后一个值shift(@arr);                #弹出第一个值unshit(@arr, value);        #在第一个位置加入value,顺位后面所有元素splice(@arr, offset, length, newlist) #替换从offset开始,长度为length的数值为newlist@arr=split('-', '2022-05-18');        #将2022-05-18拆分为2022 05 18$str=join('/', @arr);                 #将2022 05 18合并为2022/05/18@arr=qw(3 1 5 2 3 6);@arr=sort(@arr);                      #排序$[=1;                                 #设置第一个索引值为1@str3=(1, 2, 3, (4, 5, 6));           #合并两个数组@list=(a, b, c, d ,e, f, g)[3..5];    #输出3 4 5的索引值d, e, f

03


hash

hash是key:value对的集合,以%开头%week = ('1', 'Monday', '2', 'Tuesday', '3', 'Wednesday');%week = ('1'=>'Monday''2'=>'Tuesday''3'=>'Wednesday');print '\$week{'1'} = $week{'1'}\n';   @keys=keys %week;print '@keys\n'; #返回hash所有的keys@value=values %week;print '@value\n';   #返回hash所有的values
if (exists($week{'3'})) {print '$week{'3'}'else {print 'no this keys'}@size=keys %week;$num=@size; #hash大小$week{'4'}='Thursday';   #添加新的keys:valuedelete $week{'3'};       #删除keys的valueforeach $key (keys %week) {print '$week{$key}\n';}         #foreach循环while (($key$value)=each(%week)) {print '$week($key)\n'#while循环

04


条件语句

#if-elseif (boolean_expression) {  body1}else {  body2}#if-elseif-elseif (boolean_expression) {  body1}elsif {  body2}else{  body3}#unlessunless (boolean_expression) {  body  #布尔表达式为非时执行}#switchswitch (argument) {  case 1 {print '1'}  case a {print 'a'}  else   {print 'other'}}#三元运算符$result={$a>10}? 'a > 10' : 'a <=10';  #$a>10,则选择:左侧,否则选择右侧

05


循环

#while循环$a=0;while ($a<10) { print '$a\n'; $a=$a+1;}#until循环$a=0;until ($a>9) { print '$a\n'; $a=$a+1;}#for循环for ($a=0; $a<10;$a=$a+1) { print '$a\n';}#foreach循环foreach $a (@list=(0..9)) { print '$a\n';}#do-while循环$a=0;do { print '$a\n'; $a=$a+1;while ($a<10)#next语句$a=0;while ($a<10) {    if {$a==5} {     $a=$a+1     next;    } print '$a\n'; $a=$a+1;}#last语句$a=0;while ($a<10) { if {$a==5} { $a=$a+1;         last; } print '$a\n'; $a=$a+1;}#continue语句$a=0;while ($a<10) { print '$a\n';} continue { $a=$a+1;}#redo语句$a = 0;while($a < 10){ if( $a == 5 ){ $a = $a + 1; redo; } print 'a = $a\n';}continue{ $a = $a + 1;}#goto语句$a = 0;LOOP:do{ if( $a == 5){ $a = $a + 1; goto LOOP; } print '$a\n'; $a = $a + 1;}while( $a < 10 );

06


参考文献

https://www.runoob.com/perl/perl-tutorial.htmlhttps://www.perl.org/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多