- 论坛徽章:
- 1
|
本帖最后由 kaixin9ok 于 2012-11-30 16:43 编辑
小弟最近将一些shell脚本,替换成perl,当做练习,遇到些小问题,麻烦请教一下 {:3_196:}- #!/usr/bin/perl
- use warnings;
- use strict;
- my $date = &date("1");
- my $delete_date = &date("7");
- my $PV_LOG_NAME="/var/log/original/access_log.$date";
- my $V_LOG_NAME="/var/log/v/video/access.log$date";
- my %num;
- my $id;
- my $pv;
- open FILE,"<$PV_LOG_NAME" or die "Open File Filad...$!";;
- while(<FILE>;){
- next unless $_ =~ m/pv.gif/;
- next unless $_ =~ m#http://v\.baidu\.cn/v_([\d]+)\.html#;
- glob my $video_id = $1;
- $num{$video_id}++;
- }
- while(($id,$pv) = each %num){
- print $id ."=>". $pv . "\n";
- }
- sub date(){
- my $days = $_[0];
- my ($day,$year,$month)=(localtime(time()-$days*86400))[3,5,4];
- sprintf("%d%d%d",$year+1900,$month+1,$day);
- }
复制代码 结果如下:
8039=>3
11164=>2
5876=>2
10373=>10
如何排序成这样,按后面的数字进行排序,
10373=>10
8039=>3
11164=>2
5876=>2
|
|