my $argc = scalar(@ARGV)
@ARGV #表示从命令行中获得的所有参数组成的数组,如》》。/bsub -Is lib-gen.plx TPSRAM1023X36; $ARGV[0] = TPSRAM1024X36 ;
scalar(@ARGV) #明确强制 @ARGV处于标量环境,返回数组中元素的个数;
$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 “a***c.lib”
{
$PDK_LIB = $1; #圆括号匹配到的第一个字符串存在$1中;$1的值是a***c.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.。。.。。.)