Skynet

          ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks
          比如 日志,和shell運(yùn)行
          #!/bin/perl -w
          use Time::Local;

          my $log_input_file="~/log";
          sub set_log_input_file{
            
          $log_input_file=$_[0];
          }


          #&perl_log("tt","/home/xj_liukaiyi/log");
          sub perl_log{
            
          my $log_msg=shift @_;
            
          print $log_msg,"\n";
            
          system 'ttmp1=$(date +%Y-%k-%d);ttmp2=$(date +%M:%S);echo "$ttmp1 $ttmp2:'."$log_msg".'" >>'.$log_input_file;
          }

          #&system_util("xls -l","~/log");
          sub system_util{
            
          my $comm=shift @_;
            
          my @return=system $comm;
            
          if ( $return[(@return-1)] == 0 ) { 
               
          &perl_log("[success]".$comm,$log_input_file);
            }
          else{
               
          &perl_log("[error]".$comm,$log_input_file);
            }
            
          return $return[(@return-1)];
          }

          1;

          excel 讀取util 
          require("/home/xj_liukaiyi/src/perl/excel/excelUtil.pl");&parse_excel("2w.xls","歌曲列表","&read_wlh);
          #!/bin/perl -w
          use Spreadsheet::ParseExcel;
          use Spreadsheet::ParseExcel::FmtUnicode; 
          use Encode;
          use Unicode::Map();
          my $Map = new Unicode::Map("GB2312");


          my $excelCODE='gb2312';
          my $coslCODE='utf8';

          my %parseCache ;
          my %writeCache ;

          my $oFmtJ = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map =>$excelCODE); 
          my $oExcel = new Spreadsheet::ParseExcel;



          #
          #&parse_excel("all4.xls","樂(lè)撲","&read_lp); 
          # sub read_lp{  $_[1 .. 2.3  ] }
          sub parse_excel{
           
          my $sExcelName=shift;
           
          my $sSheetName=shift;
           
          my $action_fun=shift;
           
           
          my($iR, $iC, $oWkS,$oWkC);
           
          #開(kāi)啟 excel
           my $oBook = $oExcel->Parse($sExcelName,$oFmtJ);
           
          #根據(jù) sheet 名稱匹配 
           for(my $iSheet=0$iSheet < $oBook->{SheetCount} ; $iSheet++){
              
          my $t_oWkS = $oBook->{Worksheet}[$iSheet];
              
          my $sWkSName=encode($coslCODE,decode($excelCODE,$t_oWkS->{Name} ));
              
          if($sWkSName=~/$sSheetName/){
                
          $oWkS=$t_oWkS;
                
          last;
             }
           }


           
          for(my $iR = $oWkS->{MinRow} ;
               
          defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ;
               
          $iR++){
               
          my @arr_row;
               
          for(my $iC = $oWkS->{MinCol} ;
                   
          defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ;
                   
          $iC++){
                 
          $oWkC=$oWkS->{Cells}[$iR][$iC];
                 
          my $col_value="";
                     
          $col_value=encode($coslCODE,decode($excelCODE,$oWkC->Value) ) if ($oWkC) ;
                     
          push(@arr_row,$col_value);
                   }
                
          push(@arr_row,$iR);
               
          $action_fun->(@arr_row);
              }
          }

          #使用 demo
          find . -maxdepth 1 -name "*xls" -exec perl -'
          require("/home/xj_liukaiyi/src/perl/excel/excelUtil.pl");
          my $file=$ARGV[0];
          sub myRead{
            my $str="";
            foreach$tmp(@_){
              $str+"$tmp\t";
            }
            system "echo $str >> $file.data";
          }
          &parse_excel("$file",0,\&myRead);
          print "$file\n";
          ' {} \;





          整理 www.aygfsteel.com/Good-Game
          posted on 2009-03-17 13:49 劉凱毅 閱讀(1434) 評(píng)論(1)  編輯  收藏 所屬分類: perl

          Feedback

          # re: perl 一些有用的 util 2009-03-17 16:34 勝客
          learn  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 秦安县| 慈溪市| 东台市| 大足县| 包头市| 新余市| 陆良县| 丹凤县| 英超| 吉木萨尔县| 清丰县| 舞阳县| 井冈山市| 顺义区| 定安县| 富顺县| 营口市| 平凉市| 大连市| 来宾市| 涞水县| 临朐县| 大邑县| 吉隆县| 高碑店市| 苏尼特右旗| 新丰县| 石渠县| 泾阳县| 红河县| 玉龙| 文安县| 崇义县| 莱芜市| 临清市| 海宁市| 曲周县| 阿克陶县| 阳春市| 浦城县| 房产|