Iamliutt的个人空间 https://blog.eetop.cn/1760774 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Perl 脚本语言学习(一)

热度 10已有 3423 次阅读| 2020-9-12 09:51 |个人分类:perl|系统分类:芯片设计

  1.   my $argc = scalar(@ARGV)    

    1.  @ARGV #表示从命令行中获得的所有参数组成的数组,如>>./bsub -Is lib-gen.plx TPSRAM1023X36;  $ARGV[0] = TPSRAM1024X36  ;

    2. scalar(@ARGV)  #明确强制 @ARGV处于标量环境,返回数组中元素的个数;

  2. $p_cksl =~ s/^\s+//g;   #+的意思就是从遇到第一个匹配的字符(以空格开头)起,继续匹配,直到匹配失败,把这段匹配到的字符替换为一格空格;

    $p_cksl =~ s/\s+$//g;  # 把一长串空格结尾的字符串替换成一个空格

      $p_cksl =~ s/\s$/*/g;   #把匹配到的每一个空格字符都替换成*。

  3.if ( /\s*set\s*PDK_LIB\s*\"(.*)\"/ )    #可匹配到   set  PDK_LIB     "asbc.lib"

        {

                $PDK_LIB = $1;  #圆括号匹配到的第一个字符串存在$1中;$1的值是asbc.lib

         }

         # 圆括弧会记住匹配到的字符,并存放在特殊变量中以供后续使用;

         #  .*   表示除换行符以外的所有字符;

   4.匹配:

                \w 表示匹配大小写英文字母、数字以及下划线,等价于'[A-Za-z0-9_]'。

                \S 表示匹配非空白字符,范围很广了,只要不是空格、换行符、制表符、换页符;

                \s 表示匹配空白字符;

                \D表示左右是非数字字符;

                \d 表示左右是数字字符;

                \d+表示匹配多个数字字符;

                 .  表示匹配所有字符(不匹配换行)

    5.赋值操作符:

                .=   #连接 ,可以用字串化后面跟着普通的字串连接自动生成;

6.   shift @ARGV #shift 操作符从参数数组中删除一个元素(同时返回这个元素);

7. chop 和chomp : 为了方便去除新行符,Perl 提供了 chop 和 chomp 函数,chop 不加区别地去处字符串地最后一个字符,并将

结果返回,而 chomp 仅删除结束标记(通常是“\n”)同时返回被删除的字符数。

   >>$number = <STDIN>; # 输入数字

   >>chop($number); # 删除新行

8.   scalar(@whatever) == $#whatever + 1;   #scalar(@whatever) 返回数组的元素个数,$#whatever 返回数组元素的最后一个元素的脚标(0.......)

         


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 10

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 25

    粉丝
  • 11

    好友
  • 74

    获赞
  • 20

    评论
  • 6555

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-4 04:20 , Processed in 0.017552 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部