Calendar
<<  < 2009 - 10 >  >>
123456
78910111213
14151617181920
21222324252627
28293031
Placard
Category
Latest Entries
Latest Comments
Last Messages
User Login
    
 用户注册 忘记密码
Links
Information
  • 日志:153
  • 评论:14
  • 留言:0
  • 访问:78189
Search
Other


Welcome to my blog!
  截取指定文件的内容
 

#Author:Hahazhu

#study.pl

#!/usr/bin/perl
sub makelen()
  {
   my($sstr,$slen)=@_;
   my $makelen,$parity;
   $mslen=length($sstr);
   if($mslen>$slen)
     {
         for($mn=0;$mn<$slen;$mn++) #在要求的长度内
           {
            $ss=substr($sstr,$mn,1);
            if(ord($ss)<127) #为英文
              {
                  $parity+=1;
               }
           }
          if($parity%2==1) #含英文长度为奇数
           {

            if($slen%2==1) #如果所要求的长度也为奇数
                         {
                          $tmpstr=substr($sstr,0,$slen);
                     }
                   else #所要求的长度为偶数
                     {
                      $tmpstr=substr($sstr,0,$slen-1);
                     }
           }
         else #含英文长度为偶数或者为0,0也为偶数
           {

            if($slen%2==1) #如果所要求的长度为奇数
                         {
                          $tmpstr=substr($sstr,0,$slen-1);
                     }
                   else #所要求的长度为偶数
                     {
                      $tmpstr=substr($sstr,0,$slen);
                     }
           }
         $makelen=$tmpstr;
     }
   else
     {
         $makelen=$sstr;
     }
   return $makelen;
  }
open(FILE,"$ARGV[0]")||die "\[Error:\]$!";
foreach(<FILE>){
     print &makelen($_,$ARGV[1])."\n";
      $parity=0;
}

[ 阅读全文(136) | 回复(0) | 引用通告(0) | 编辑

  Post  by  badboy 发表于 2007-10-5 1:54:00
发表评论:
粗体 斜体 下划线 插入引用 插入表情
坏男孩