• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    为Java程序员准备的10分钟Perl教程

    1.从基础开始

    不像java,Perl不需要“main”方法作为入口点。要运行一个简单的Perl程序如下:

    复制代码 代码如下:

    # comment starts with "#"
    # the name is hello.pl
    print "Hello Perl!";

    只需执行:

    perl hello.pl

    2. 日期类型

    在Perl中的日期类型是非常简单,它有3种类型:标量,数组和Hash。

    标是一个单值,它基本上可以是任何其他比数组或哈希。
    数组是一个数组,可以包含不同类型的元素,如整数,字符串。

    哈希基本上是像Java的HashMap中。

    将下面的代码结合所有的使用情况。

    复制代码 代码如下:

    #claim a hash and assign some values
    my %aHash;
    $aHash{'a'}=0;
    $aHash{'b'}=1;
    $aHash{'c'}=2;
    $aHash{'d'}=3;
    $aHash{'e'}=4;

    #put all keys to an array
    my @anArray = keys (%aHash);

    #loop array and output each scalar
    foreach my $aScalar (@anArray){
     print $aScalar."\n";
    }

    输出结果:

    复制代码 代码如下:

    e
    c
    a

    d

    如果你想对数组进行排序,你可以简单地使用类似下面的排序功能:

    复制代码 代码如下:

    foreach my $aScalar (sort @anArray){
     print $aScalar."\n";
    }

    3. 条件、循环表达式

    Perl为条件和循环语句准备了if, while, for, foreach等关键字,这与Java非常类似(switch除外)。

    详情请见下面的代码:

    复制代码 代码如下:

    #if my $condition = 0;
    if( $condition == 0){
        print "=0\n";
    }
    elsif($condition == 1){
        print "=1\n";
    }
    else{
        print "others\n";
    }

     
    #while while($condition 5){
        print $condition;
        $condition++;
    }
    for(my $i=0; $i 5; $i++){
        print $i;
    }

    #foreach my @anArray = ("a", 1, 'c');
        foreach my $aScalar (sort @anArray){
            print $aScalar."\n";
    }

    4.文件的读写

    下面这个例子向我们展示了如何读写文件。这里请注意">"和">>"之间的区别,">>"在文件末尾追加内容,">"创建一个新的文件储存信息。

    复制代码 代码如下:

    #read from a file
    my $file = "input.txt";
    open(my $fh, "", $file) or die "cannot open $file!";
    while ( my $aline = $fh> ) {
        #chomp so no new line character
        chomp($aline);
        print $aline;
    }

    close $fh;

    # write to a file
    my $output = "output.txt";
    open (my $fhOutput, ">", $output) or die("Error: Cannot open $output file!");
    print $fhOutput "something";
    close $fhOutput;

    5.正则表达式

    Perl中有两种使用正则表达式的方法:m和s。

    下面的代码在$str上应用了正则表达式。

    复制代码 代码如下:
    $str =~ m/programSPAN>(/SPAN>creek|river)/

    如果$str的内容是“programcreek”,表达式将会返回true。这也可以被用于条件判断或循环。 
     

    6.传值/引用的语法

    在Perl中没有必要定义方法/函数,但如果你这么做了,那将大大提高代码的模块化和可充用性。但我们需要对参数的传递非常小心。

    你可以直接传递一个标量,但如果传递的是数组或哈希类就需要特别的当心。

    数组:

    复制代码 代码如下:

    my @testArray = (1, 3, 2);

    #In sub sub processArrayByReference($) {
        my $arrayref = shift;
        my @array    = @$arrayref;
        #...
    }

    #In sub processarray: sub processArrayByValue($){
        my @array = @_;
     #...
    }

    processArrayByValue(@testArray);
    processArrayByReference( \@testArray );

    哈系类:

    复制代码 代码如下:

    sub printHash($) {
    my %hash = %{ shift() };
    for my $key ( sort keys %hash ) {
        my $value = $hash{$key};
        print "$key => $value\n";
    }
    }

    printHash(\%twoLettersCount);

    7.一些实例

    1).遍历字符串中的每个字符。

    复制代码 代码如下:

    my @lineCharArray = split('',$aline);
    foreach my $character (@lineCharArray){
        print $character."\n";
    }

    2).创建一个包含26个字母的数组。
    你可以简单地实现这个功能并且无需循环26次。

    复制代码 代码如下:

    my @charArray = ('a'..'z' );
    my @twoCharArray = ('aa'..'zz');

    以上是第一个版本的“10分钟”,我还将根据评论持续更新本文。

    原文见:http://www.programcreek.com/2012/09/10-minutes-perl-tutorial-for-java-developer/

    您可能感兴趣的文章:
    • perl批量查询ip归属地的方法代码
    • perl中my和our的区别分析
    • 解析posix与perl标准的正则表达式区别
    • Perl中的正则表达式介绍
    • Perl内置特殊变量总结
    • Perl Sort函数用法总结和使用实例
    • Perl调用shell命令方法小结
    • perl 文件测试操作符汇总
    • Perl使用nginx FastCGI环境做WEB开发实例
    • perl查找进程PID的例子
    • Perl一句话命令行编程中常用参数总结
    • cpanm安装及Perl模块安装教程
    • Windows和Linux系统下perl连接SQL Server数据库的方法
    • 7个perl数组高级操作技巧分享
    • Perl函数(子程序)学习笔记
    • Perl Substr()函数及函数的应用
    上一篇:服务器自动删除文件的脚本
    下一篇:perl与shell获取昨天、明天或多天前的日期的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    为Java程序员准备的10分钟Perl教程 为,Java,程序员,准备,的,