perl 一些有用的 util

简介:
比如 日志,和shell运行
# !/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","乐扑","&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 );
 
# 开启 excel
  my   $oBook   =   $oExcel -> Parse( $sExcelName , $oFmtJ );
 
# 根据 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";
'  {}  \ ;
本文转自博客园刘凯毅的博客,原文链接:perl 一些有用的 util,如需转载请自行联系原博主。





目录
相关文章
|
2月前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
14 2
|
2月前
|
机器学习/深度学习 人工智能 安全
python和Java的区别以及特性
Python:适合快速开发、易于维护、学习成本低、灵活高效。如果你需要快速上手,写脚本、数据处理、做点机器学习,Python就是你的首选。 Java:适合大型项目、企业级应用,性能要求较高的场景。它类型安全、跨平台能力强,而且有丰富的生态,适合更复杂和规模化的开发。
42 3
|
5月前
|
Java PHP 数据安全/隐私保护
php和Java配合 aes
php和Java配合 aes加密
40 1
|
4月前
|
Java 应用服务中间件 测试技术
PHP和Java在性能上的差异有哪些?
【7月更文挑战第2天】PHP和Java在性能上的差异有哪些?
184 0
|
4月前
|
Java 测试技术 数据库连接
PHP和Java哪个更难?
【7月更文挑战第2天】PHP和Java哪个更难?
49 0
|
5月前
|
Python
Python中import的机制详解
Python中import的机制详解
29 0
|
6月前
|
机器学习/深度学习 人工智能 Java
Java和Python区别
Java和Python区别
73 1
Java和Python区别
|
6月前
|
Java API PHP
多多关键字API php java Python
多多关键字API接口广泛应用于商家进行市场分析、竞品分析、关键词优化等场景。商家可以通过分析关键词数据,了解用户需求,制定针对性的营销策略,提高产品的曝光率和转化率。
|
机器学习/深度学习 安全 Java
PHP, Python和Java的区别
PHP, Python和Java是广泛使用的编程语言。每种编程语言都有其独特的优点和缺点。在本文中,我们将对这些编程语言进行分析,并探讨它们在不同应用场景中的最佳用途。
151 0
|
6月前
|
JSON JavaScript 前端开发
Nodejs 第十八章(util)
Nodejs 第十八章(util)
50 0