Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > 其他编程语言 > 开始学perl,第三天
【标  题】:开始学perl,第三天
【关键字】:perl
【来  源】:http://www.cublog.cn/u/15030/showart.php?id=275621

开始学perl,第三天

Your Ad Here
好长时间没摆弄这个博客了。近来开始摆弄perl。又一次验证了那个理论:学习编程光看书看别人的程序是没有用的必须自己写才能学到东西。也验证了另外一个言论就是perl处理文本的能力太强了。
今天是学perl第三天了,自己尝试着写了两个函数,一个是计算两个日期相差多少天,另外一个就是消除字符串变量最后的空格。帖出来跟大家共同学习。
sub day_cha{
      my  ($first_day,$second_day) = @_ ;
      if( $first_day gt $second_day )
      {
          ( $first_day , $second_day ) = ( $second_day , $first_day );
      }
      @day = split // ,  $first_day , 8 ;
      @first = ( 0 , 0 , 0
                   , $day[6].$day[7]
                   , ( ( $day[4].$day[5] ) - 1 )
                   , ( ( $day[0].$day[1].$day[2].$day[3] ) - 1900 )
                   , 0 , 0 , 0
               );
      @day2 = split // , $second_day , 8 ;
      @second = ( 0 , 0 , 0
                   , $day2[6].$day2[7]
                   , ( ( $day2[4].$day2[5] ) - 1 )
                   , ( ( $day2[0].$day2[1].$day2[2].$day2[3] ) - 1900 )
                   , 0 , 0 , 0
               );
      $cha_se = timelocal(@second) - timelocal(@first);
      return  $cha_se/60/60/24 ;
 }
第一个这个就是计算两个日期相差天数的函数,输入的参数为两个字符串日期的全称,例如‘20070309’
‘20071231’这样的日期表示。这个函数的原来就是将日期换算成距离“纪年”来的秒数,然后在计算两个的相差,除以一天的秒数,计算原理比较简单。这个函数自己学到的就是数组元素的交换,还有就是将变量分割成单个字符。
sub kill_blank{
      my ($in_str) = @_;
      my @str_cont = split // , $in_str;
      my $re_char = '';
      while( $str_cont[$#str_cont] eq ' ' )
      {
            $#str_cont--;
      }
      for( $i=0 ; $i<=$#str_cont ; $i++ )
      {
          $re_char.= $str_cont[$i];
      }
      return $re_char;
}
这个函数自己学习的就是$#str_cont的理解加深,感觉这个变量实在是太经典了。
 
总结:虽然自己写出了这两个函数,功能实现了但是从编程简单上来讲还是有很大不足的,我明白这两个函数完全可以再优化再简练,但是对于我刚拿过来perl三天的来说还是可以的,我自认为。呵呵。
perl学习笔记7:【上一篇】
perl学习笔记6:【下一篇】
【相关文章】
  • perl学习笔记7
  • perl学习笔记8
  • Perl start
  • 一个perl的密码生成器
  • Win32环境下 Perl DBI安装
  • 发布一个CHyperLink类,可适应SDK和MFC
  • 在Linux系统上安装Perl DBI支持
  • PERL的资源不完全索引
  • 列出所有已安装的perl模块
  • Windows XP 下安装Perl cpan模块
  • 【随机文章】
  • Symbian开发探索(续)
  • 网络工程师学习笔记
  • TP-Link R402
  • 购房费用计划表
  • unicode? multibyte character?
  • Sunny:tpoint2.cpp
  • Tomcat 集群与负载均衡
  • Linux C常用类型定义
  • Oracle9i中一个特殊等待事件--null event
  • 全面剖析移动嵌入式系统各层面的技术现状
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.