zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    聚类算法学习-kmeans,kmedoids,GMM
    hdu
    高仿精仿微信应用ios源码下载
    UVA 116 Unidirectional TSP 经典dp题
    [置顶] 动态规划之切割钢条
    poj
    求解printf函数?
    实现多文件上传在iOS开发中
    开源DirectShow分析器和解码器: LAV Filter
    <Win32_20>纯c语言版的打飞机游戏出炉了^_^
  • 原文地址:https://www.cnblogs.com/hanleilei/p/2391137.html
Copyright © 2011-2022 走看看