perl switch 和case语句

use Net::SMTP;
   use HTTP::Date qw(time2iso str2time time2iso time2isoz);
   my $CurrTime = time2iso(time());
   my $dis_mainpublish='中均资本';
my $menu= <<EOF;
                	DATE:$CurrTime
	--------------------------------------------------
	                $dis_mainpublish
	--------------------------------------------------
	****** 1) "清空发布目录" *******
	****** 2) "获得SQL更新目录" *******
	****** 3) "更新后同步SVN" *******
	****** 4) "退出系统"   *******
EOF

undef @arr1;
undef @arr2;
my $red="\e[1;31m";
my $green="\e[1;32m";
my $yellow="\e[1;33m";
my $normal="\e[0m";
print $menu;
print  "please choose [1-2-3-4]:\n";
chomp (my $val=<STDIN>);
 use Switch;
        switch ($val) {
             case 1 {
			 print "hints->$red请在svn更新后,在执行2操作$normal\n";
		    if   ( -e "C:\\update") {system("rd /s/q  C\:\\update") };

		    unless  ( -e "C:\\update"){system("mkdir   C\:\\update") }
		    
	     }
		     

            case 2         
{
#$dirname = "C:\\a1";

$dirname="E:\\svn chkout\\Database2.0\\update_sql\\";

opendir ( DIR, $dirname ) || die "Error in opening dir $dirname\n";
while( ($filename = readdir(DIR))){

    

	 push @arr1,$filename."\n";
}
closedir(DIR);

sort @arr1;
print @arr1;

########################################################################
$dirname = "C:\\update_sql";

opendir ( DIR, $dirname ) || die "Error in opening dir $dirname\n";
while( ($filename = readdir(DIR))){

    

	 push @arr2,$filename."\n";
}
closedir(DIR);
sort @arr2;
print @arr2;



@arr2 = grep {$count{$_} == 1 } grep {++$count{$_}} (@arr1, @arr2);
print "--------增量信息------------\n";
print "@arr2\n";
use File::Copy::Recursive qw(dircopy);
foreach  (@arr2) {
	print "\$_ is $_\n";
	chop $_;
 
my $source_dir="E:\\svn chkout\\Database2.0\\update_sql\\$_";
my $target_dir="C:\\update\\$_";
 
my $copy_ret=dircopy($source_dir,$target_dir) or die $!;
}

		

}


            case 3          {system("C:\\rsync.bat"); }
            else            { exit; }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值