注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 IT认证与技术学习-自己强..
 帮助

perl中使用s命令。


2007-12-19 19:58:11
 标签:命令 开发 perl   [推送到技术圈]

若干条记录,如下所示。
BGM001.....
NADabcd....
SG001uiqt...
SG17001+09999...
SG17002+1256....
SG7xxxxxxx....
UNT20071217
其中BGM、NAD、SG001、SG17001、SG17002、SG7、UNT是RecordType。现在要求对于每条记录返回其RecordType。该问题麻烦在RecordType的长度不确定,无法通过$RecordType=substr($_,0,$length)来获得。假设每条记录使用$_变量来代表。
但是有一点是确定的,所有的RecordType只有这7种。此时可以利用s命令来解决。
s用来在某个字符串中查找匹配模式,并进行个性化替换。
my recordType
$RecordType = $_;
$RecordType =~ s/(BGM|NAD|SG001|SG17001|SG17002|SG7|UNT).*/$1/;
注意,这里最好先将$_的值赋给$RecordType,因为s命令会改变$_的值。




    文章评论
 
2007-12-20 09:43:16
perl语言平时我接触的太少了 在这看看

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: