Perl 学习手札之十三:building function

string.pl

# !/usr/bin/perl
#

use strict;
use warnings;

main( @ARGV);

sub main
{
     my  $string =  " this is a string\n ";
     print  $string;
    
     chomp  $string;
    message( " [$string] ");
    
     chop  $string;
    message( " [$string] ");
    
     my  $s2 =  uc  $string;
    message( $s2);
    
     $s2 =  lc  $string;
    message( $s2);
    
     $s2 =  substr( $string, 5, 2);
    message( $s2);
    
     $s2 =  substr( $string, 5, 4);
    message( $s2);
    
     $s2 =  index ( $string, ' s ');
    message( $s2);

     $s2 =  rindex( $string, ' s ');
    message( $s2);

     $s2 =  substr( $string, rindex( $string, ' s '));
    message( $s2);
}

sub message
{
     my  $m =  shift or  return;
     print( " $m\n ");
}

sub error
{
     my  $e =  shift ||  ' unkown error ';
     print( " $0: $e\n ");
     exit  0;
}

可以参考perldoc perlfunc 来查看所有的building function 的情况。

以上罗列了几个比较常用的。


number.pl

# !/usr/bin/perl
#

use strict;
use warnings;

main( @ARGV);

sub main
{
     my  $number =  123.456;
     my  $n2 =  int( $number);
    message( $n2);
    
     $number =  " a5 ";
     $n2 =  hex( $number);
    message( $n2);
    
     $number =  " 75 ";
     $n2 =  oct( $number);
    message( $n2);    
    
     $number =  rand();
    message( $number);

     $number =  rand( 100);
    message( $number);    

     $number =  int( rand( 100));
    message( $number); 
    
     srand($$.  time);
     $number =  int( rand( 100));
    message( $number);     
}

sub message
{
     my  $m =  shift or  return;
     print( " $m\n ");
}

sub error
{
     my  $e =  shift ||  ' unkown error ';
     print( " $0: $e\n ");
     exit  0;
}

 关于数字的building in 函数不是太多

 

arrays.pl

# !/usr/bin/perl
#

use strict;
use warnings;

main( @ARGV);

sub main
{
     my  @list = qw(jan feb mar apr may june july aug sep  oct nov dec);
     push( @list, ' foo ');    #将元素‘foo'加入数组的最后一行
    message( join( ' : ', @list));
    message( join( ' : ', reverse  @list));#将数组求逆序
    
     my  $string =  pop  @list;#输出数组的最后一个元素
    message( $string);
    
     $string =  shift  @list;#输出数组的第一个元素给string
    message( $string);

     unshift ( @list, $string);#将string加入数组,变成数组的第一个元素
    message( $string);    

}

sub message
{
     my  $m =  shift or  return;
     print( " $m\n ");
}

sub error
{
     my  $e =  shift ||  ' unkown error ';
     print( " $0: $e\n ");
     exit  0;
}

 可以看相应的注释。

time.pl

# !/usr/bin/perl
#

use strict;
use warnings;

main( @ARGV);

sub main
{
     my  $t =  time;
     my  @months = qw(jan feb mar apr may june july aug sep  oct nov dec);
     my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =  localtime();
     $year+= 1900;
    message( " year: $year, month:$months[$mon],day: $mday ");
    message( " $year-$months[$mon]-$mday $hour:$min:$sec ");
}

sub message
{
     my  $m =  shift or  return;
     print( " $m\n ");
}

sub error
{
     my  $e =  shift ||  ' unkown error ';
     print( " $0: $e\n ");
     exit  0;
}

就一个关于localtime的building in function。

 

 

 

 

 

 

 

posted on 2012-03-11 23:54 韩英武 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/hanleilei/archive/2012/03/11/2391137.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值