Perl基础知识

perl基础教程
http://ind.ntou.edu.tw/~dada/cgi/Perlsynx.htm

实验1:
sites.csv文件,每行中的数据用Tab分割
www.google.com google
www.baidu.com baidu

test.pl文件:
#!/usr/bin/perl -w
use warnings;
my $siteConfigDir="/home/abc/20110925";
my $siteMap = {};

open(IN, "<$siteConfigDir/sites.csv") or die "Cannot open site file: sites.csv\n";
while (<IN>){
print "one time iterator\n";
chomp($_);
my @var = split /\t/,$_;
my ($prefix,$siteName) = @var;
$siteMap{$prefix}=$siteName;
}

while(my ($k,$v) = each %siteMap)
{
print "(",$k,"-",$v,")\n";
}
close(IN);

start.sh文件:
#!/bin/bash
/usr/bin/perl /home/pitt/20110925/unzip/test.pl
输出结果:
one time iterator
one time iterator
(www.google.com-google)
(www.baidu.com-baidu)
可以知道while(<IN>)是按行读取字符串。
=====================


2.另一个实验如下:
use strict;
use warnings;

my $str="12345\nabcde\n67890\nzzzzz";
my $line;
open FH, '<', \$str;
while($line=<FH>)
{
chomp $line;
print "input:$line\n";
}
close(FH);

输出如下:
input:12345
input:abcde
input:67890
input:zzzzz

3.在perl里调用shell的方式就是用''将shell命令括起来:
my $day;
if ( $ARGV[0] ne "" ){
$day=$ARGV[0];
}else{
$day = `date -d yesterday +%Y%m%d`;
}
my $file=qq/${day}_error.log/;


4
Regular Expression通常是用來尋找特定的字串樣式(pattern),也就是所謂格式辨認(pattern-matching)的功能。 它的運算子是『=~』和『!~』,可以把它念做match和not match。
Syntax: $string =~ /regular expression/expression modifier
正则表达式:
http://deerchao.net/tutorials/regex/regex.htm

要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(比如元音字母a,e,i,o,u),应该怎么办?
很简单,你只需要在方括号里列出它们就行了,像[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)。

.是一个元字符,匹配除了换行符以外的任意字符。

$a =~ s/%3D/=/;
s将待匹配串视为单行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值