一个简单的gw perl程序

前端之家收集整理的这篇文章主要介绍了一个简单的gw perl程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#!/usr/bin/perl -w

use Switch;

sub sync_gw_yd
{
    my ($in_ip,$out_ip) = @_;
    my @in_ip = @$in_ip;
    my @out_ip = @$out_ip;
    foreach $var (@out_ip)
    {   
        my(undef,undef,$tmp,$out_suffix)= split /\./,$var;
        foreach $j (@in_ip)
        {   
            my(undef,$in_suffix)= split /\./,$j;
            if($in_suffix == $out_suffix)
            {   
                if(! -e $in_suffix)
                {
                    mkdir $in_suffix or die "cannot make $in_suffix directory:$!\n";
                }   
                open $template,"<","mcp.gateway.conf.template";
                open $cnf,">","$in_suffix/mcp.gateway.conf";
                while(<$template>)
                {   
                    s/\$outip/$var/;
                    s/\$inip/$j/;
                    s/\$idc/1/;
                    s/\$port/80/;
                    if($in_suffix == 97)      next if /\$online4/;
                    }
                    switch($in_suffix)
                    {
                        case 97 {
                            s/\$online1/online_redis_m3/;
                            s/\$online2/online_redis_m4/;
                            s/conn_pool_size=2500000/conn_pool_size=1100000/;
                            s/heartbeat_time=300/heartbeat_time=270/;
                            s/\$count/2/;
                        }
                        case 99 {
                            s/\$online1/online_redis_d1/;
                            s/\$online2/online_redis_d2/;
                            s/\$online3/online_redis_d3/;
                            s/\$online4/online_redis_d4\nredis5=online_redis_e1\nredis6=online_redis_e2\nredis7=online_redis_
e3\nredis8=online_redis_e4/;
                            s/\$count/8/;
                        }
                    {   
                        next if /\$online3/;

      next if /\$online4/;
                    }
                    switch($in_suffix)
                    {
                        case 97 {
                            s/\$online1/online_redis_m3/;
                            s/\$online2/online_redis_m4/;
                            s/conn_pool_size=2500000/conn_pool_size=1100000/;
                            s/heartbeat_time=300/heartbeat_time=270/;
                            s/\$count/2/;
                        }
                        case 99 {
                            s/\$online1/online_redis_d1/;
                            s/\$online2/online_redis_d2/;
                            s/\$online3/online_redis_d3/;
                            s/\$online4/online_redis_d4\nredis5=online_redis_e1\nredis6=online_redis_e2\nredis7=online_redis_
e3\nredis8=online_redis_e4/;
                            s/\$count/8/;
                        }

                    }#end switch                     print $cnf $_;                 }#end while                 close $template;                 close $cnf;                 #$tmp=`rsync -z $in_suffix/mcp.gateway.conf $j::gwconf/redis.rc --port=7874`;                 unlink "$in_suffix/mcp.gateway.conf";                 rmdir $in_suffix             }#end if         }#end for in     }#end for out }

猜你在找的Perl相关文章