Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147976
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 402
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-11 10:08
文章存档

2013年(47)

我的朋友

分类: PERL

2013-03-22 16:18:02

localtime
#   秒   分    时   天     月     年    星期  年天   
#   0    1     2     3     4     5       6     7     8
#($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = localtime;

获取当前时间的前一个小时:
lasthour=`perl -e '($a,$b,$c,$day,$mon,$year,$d,$e,$f) = localtime(time-3600);printf "%4d%02d%02d",$year+1900,$mon+1,$day'`

查看unix中的文件是32位还是64位.
file xxx

split的一些巧妙用法.
@a=split/yyy/s,xxx;
#split中如果在匹配的里面yyy加上了(),那么这个yyy是不会被去掉的,它会被单独的作为一个变量存储在@a中。如:my @blocks = grep { $_ } split /(<\w+>.+?)/s,xxx;
#而如果不加括号(),那么这个yyy就跟正常的split一样,跟逗号或者其他字符类似,被删除。如:my @blocks = grep { $_ } split /<\w+>.+?/s,xxx;
#而split里面还可以是用"零宽断言"的。如:my @blocks = grep { $_ } split /(<\w+>.+?(?=<\w+>))/s;
                                                    #
解释一下:以".+?"为分割,如果里面有零宽断言,那么直接就分隔得到前面的内容,用的很巧妙!



阅读(1387) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~