Perl常用语法

1、Perl的常用函数

1、转换日期格式函数

my  $year_month_day = strftime("%Y%m%d %H:%M:%S",localtime());
print "\t\tstart now : '$year_month_day' "."\n";

2、判断输入参数的个数

if ($ARGV<0){
   print "\n";
   print "usage : 使用参数\n";
   print "Control_File--控制文件(SUB_JOBNAMEYYYYMMDD.dir)\n";
   exit(1);
}

3、获取第一个参数

my $Control_File    =$ARGV[0];
my $changdu         =length($Control_File);
print "\t\t参数 : '$changdu' ,'$Control_File'"."\n";

4、字符串截取函数

#substr(参数1,参数2,参数3)
#参数 1 要取得原始字符串
#参数 2 起始位置
#参数 3 要取得个数


my $Tx_Today           =substr($Control_File,length($Control_File)-12,8);#当天为"YYYYMMDD" char类型
my ${LocalCode}        =substr($Control_File,length($Control_File)-14,1);#本地网标识

print "\t\t 日期 : '$Tx_Today' ,'${LocalCode}'"."\n";

5、三项表达式

my $Bil_Month = (substr($Tx_Today,4,2) == '01')  ? (substr($Tx_Today,0,4)-1).'12' : substr($Tx_Today,0,4).((substr($Tx_Today,4,2)) ge 10 ? '':'0').(substr($Tx_Today,4,2)-1) ;

print "上个月为:'$Bil_Month'"."\n";

6、哈希值的用法

1、创建hash
my %test = ('A'=> '01',
            'B'=> '02',
			'C'=> '03',
			'D'=> '04',
			'E'=> '05',
			'F'=> '06',
			'G'=> '07',
			'H'=> '08',
			'I'=> '09',
			'J'=> '10',
			'K'=> '11',
                  ) ;
2、根据key获取value
my $result = $test{$LocalCode};


3、遍历hash值

1)用foreache

foreach my  $key (keys %fengongsiz)
{
    print "用foreache方式";
	print "$key=>"."$fengongsiz{$key}:\n";
};

2)用while

while((my $k,my $v) = each %fengongsiz){
   print "用while方式";
   print "$k=>"."$v;\n";
}





 

2、perl的正则表达式

1、概述

#匹配:m//(还可以简写为//,略去m)
#替换:s///
#转化:tr///
# 一般和=~ 或 !~ 搭配使用, =~ 表示相匹配,!~ 表示不匹配。

2、练习

1、练习匹配

$bar = 'I am runoob sit. welcome to runoob sits.';
if($bar =~ /run/){
  print "第一次匹配\n"
}else{
  print "第一次不匹配"
}

$test = 'I am master,very stronger ,so i run fast';
if($test =~ /run/){
    print "第二次匹配\n";
}else{
    print "第二次不匹配\n";
}



高级用法:

#$`: 匹配部分的前一部分字符串
#$&: 匹配的字符串
#$': 还没有匹配的剩余字符串

$string = 'wecome to beijing';
$string =~ m/to/;

print "匹配前的字符串:$`\n";
print "匹配的字符串:$&\n";
print "匹配后的字符串:$'\n";

2、练习替换

$team = 'wecome to shanghai site.';
$team =~ s/shanghai/beijing/;

print "$team\n"

3、练习转化

#c	转化所有未指定字符
#d	删除所有指定字符
#s	把多个相同的输出字符缩成一个

$string =~ tr/\d/ /c;     # 把所有非数字字符替换为空格
$string =~ tr/\t //d;     # 删除tab和空格
$string =~ tr/0-9/ /cs    # 把数字间的其它字符替换为一个空格。

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值