bbs.ChinaUnix.net
首页 | 微博 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


一个较好的perl代码, 包含了很多知识点

  首页 » 论坛 » Perl »
[打印] [收藏] [本帖文本页] [推荐此主题给朋友]

#!/usr/bin/perl -w


use strict;
use POSIX qw/strftime/;

my %hash;
my $in="udpInDatagrams";
my $out="udpOutDatagrams";
my $log="/log/udp.log";

open NETSTAT,"netstat -s -P udp 1 2 |" or die "$!";
while (<NETSTAT>) {
        $hash{$1}=$2 if /($in)\s+=\s+(\d+)\s+/;
        $hash{$1}=$2 if /($out)\s+=\s+(\d+)\s+/;
}
close NETSTAT;
my $date=strftime "%Y%m%d%H%M",localtime;
open FILE,">> $log" or die "$!";
print FILE "$date\t$hash{$in}\t$hash{$out}\n";
close FILE;


还有一个,用到reference。

my (%hash,@list);
open FILE,"< $log" or die "$!";
open FILE_FINAL,"> $log_final" or die "$!";
while (<FILE>) {
        chomp;
        @list=split /\s+/,$_;
        my $ref=\@list;
        if (exists $hash{$ref->[0]}) {
                $hash{$ref->[0]}=[$ref->[1]+$hash{$ref->[0]}->[0],$ref->[2]+$hash{$ref->[0]}->[1]];
                                
        } else {
                $hash{$list[0]}=[$ref->[1],$ref->[2]];
        }
}
foreach (sort keys %hash) {
        print FILE_FINAL "$_" . " " . "@{$hash{$_}}" . "\n";
}
close FILE_FINAL;
close FILE;


[ 本帖最后由 gaochong 于 2009-6-30 21:45 编辑 ]



都是垃圾代码。
__________________________________
关键是要有一颗牛叉的心。有了一颗牛叉的心,就不再是人,而是牛人了。



__________________________________



LZ: 芙蓉也叫仙女?



看看,挨批了吧

__________________________________
爱生活
爱Perl
爱BSD

--------

据当地法律法规和政策,部分个人签名未予显示。



版主说话就是这样直接。

[ 本帖最后由 wxlfh 于 2009-7-1 08:36 编辑 ]
__________________________________



提示: 作者被禁止或删除 内容自动屏蔽



回复 #1 gaochong 的帖子

to:gaochong
要想在perl版混 得时刻准备好flw导师的调侃
__________________________________
following: https://twitter.com/xuanfei






回复 #2 flw 的帖子

具体哪里是垃圾代码?


flw老大,请赐教!


  首页 » 论坛 » Perl »
Copyright © 2001-2010 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP