`
haoningabc
  • 浏览: 1465770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

perl入门网站和几个好玩的地方

    博客分类:
  • perl
阅读更多
http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm
--------------------------
.双引号内的字符串中支持转义字符
Table 3.1. Escape sequences in strings.

Escape Sequence Description
\a Bell (beep)
\b Backspace
\cn The Ctrl+n character
\e Escape
\E Ends the effect of \L, \U or \Q
\f Form feed
\l Forces the next letter into lowercase
\L All following letters are lowercase
\n Newline
\r Carriage return
\Q Do not look for special pattern characters
\t Tab
\u Force next letter into uppercase
\U All following letters are uppercase
\v Vertical tab
\L、\U、\Q功能可以由\E关闭掉,如:
$a = "T\LHIS IS A \ESTRING"; # same as "This is a STRING"
------------------------
列表/数组的长度
  当数组变量出现在预期简单变量出现的地方,则PERL解释器取其长度。
    @array = (1, 2, 3);
    $scalar = @array; # $scalar = 3,即@array的长度
    ($scalar) = @array; # $scalar = 1,即@array第一个元素的值
  注:以数组的长度为循环次数可如下编程:
    $count = 1;
    while ($count <= @array) {
    print ("element $count: $array[$count-1]\n");
    $count++;
    }
-------------------------------
@array = (70, 100, 8);
@array = sort(@array); # @array = (100, 70, 8) now
@array2 = reverse(@array);
@array2 = reverse sort (@array);
chop--数组去尾
join/split--连接/拆分

-------------------------流----------
读:open (MYFILE, "file1") || die ("Could not open file");
写:open(OUTFILE, ">outfile");
    print OUTFILE ("Here is an output line.\n");
关闭:close(MYFILE); 关闭文件
-------------------------------shell也有这个判断------------
open(INFILE, "infile") && !(-e "outfile") &&
    open(OUTFILE, ">outfile") || die("Cannot open files\n");
文件测试操作符

操作符	描述
-b	 是否为块设备
-c	 是否为字符设备
-d	 是否为目录
-e	 是否存在
-f	 是否为普通文件
-g	 是否设置了setgid位
-k	 是否设置了sticky位
-l	 是否为符号链接
-o	 是否拥有该文件
-p	 是否为管道
-r	 是否可读
-s	 是否非空
-t	 是否表示终端
-u	 是否设置了setuid位
-w	 是否可写
-x	 是否可执行
-z	 是否为空文件
-A	 距上次访问多长时间
-B	 是否为二进制文件
-C	 距上次访问文件的inode多长时间
-M	 距上次修改多长时间
-O	 是否只为“真正的用户”所拥有
-R	 是否只有“真正的用户”可读
-S	 是否为socket
-T	 是否为文本文件
-W	 是否只有"真正的用户"可写
-X	 是否只有"真正的用户"可执行
注:“真正的用户”指登录时指定的userid,与当前进程用户ID相对,命令suid可以改变有效用户ID。

-----这个有意思,突然想结合abs一起看-(同时学好几门语言其实比只学一门语言要简单)------------
象C一样,PERL也有存储命令行参数的数组@ARGV,可以用来分别处理各个命令行参数;与C不同的是,$ARGV[0]是第一个参数,而不是程序名本身。
    $var = $ARGV[0]; # 第一个参数
    $numargs = @ARGV; # 参数的个数
  PERL中,<>操作符实际上是对数组@ARGV的隐含的引用,其工作原理为:
1、当PERL解释器第一次看到<>时,打开以$ARGV[0]为文件名的文件;
2、执行动作shift(@ARGV); 即把数组@ARGV的元素向前移动一个,其元素数量即减少了一个。
3、<>操作符读取在第一步打开的文件中的所有行。
4、读完后,解释器回到第一步重复。
  例:
    @ARGV = ("myfile1", "myfile2"); #实际上由命令行参数赋值
    while ($line = <>) {
    print ($line);
    }
  将把文件myfile1和myfile2的内容打印出来。
----------------管道------------
open (MESSAGE, "| cat >hello");
    print MESSAGE ("Hi, Dave! Your Perl program sent this!\n");
    close (MESSAGE);

------------------------循环-------------
@list = (1, 2, 3, 4, 5);
  foreach $temp (@list) {
    if ($temp == 2) {
      $temp = 20;
    }
  }
----------------子程序----------
1、用&调用 
  &subname;
  ...
  sub subname{
    ...
  }
2、先定义后调用 ,可以省略&符号
  sub subname{
    ...
  }
  ...
  subname;
3、前向引用 ,先定义子程序名,后面再定义子程序体
  sub subname;
  ...
  subname;
  ...
  sub subname{
    ...
  }
4、用do调用 
  do my_sub(1, 2, 3);等价于&my_sub(1, 2, 3);


----------------别名--------------没看懂--perl的确是恶搞的语言
http://www.cbi.pku.edu.cn/chinese/documents/perl/perl8.htm
-------------构造函数 析构函数--
BEGIN {
    print("Hi! Welcome to Perl!\n");
  }
  AUTOLOAD{
    print("subroutine $AUTOLOAD not found\n"); # 变量$AUTOLOAD即未找到的子程序名
    print("arguments passed: @_\n");
  }
END{}
分享到:
评论

相关推荐

    Perl入门书籍——Perl 24小时

    通过上述知识点的学习,读者能够建立起对Perl语言的全面理解,从入门到进阶,逐步掌握Perl的编程技巧和应用领域。无论是新手还是有经验的程序员,都可以通过《Perl 24小时》这本入门书籍,快速提升Perl编程能力,...

    perl语言编程和perl语言入门

    Perl语言编程和Perl语言入门是两个关键的学习领域,分别对应着对Perl的深入理解和基础掌握。 《Perl语言编程》可能是关于Perl的高级教程,涵盖了语言的复杂特性,如正则表达式、模块化编程、对象导向编程、异常处理...

    零起点perl入门基础教程

    Perl虽然被称为“骆驼书”语言,因为其经典的教程《Programming Perl》封面有一只骆驼,但其实Perl并不难学,只要掌握了基本概念和实践技巧,你就能在这个强大的工具上自由驰骋。无论你是系统管理员,还是对文本处理...

    perl入门+习题答案

    "perl入门+习题答案"这个主题表明这是一个针对初学者的学习资源,旨在帮助他们掌握Perl的基础知识并解决实际问题。 《perl入门第四版》可能是本书籍的名字,它提供了关于Perl语言的基本概念、语法和常用函数的详细...

    perl语言入门+perl语言编程

    总的来说,Perl语言入门和进阶学习需要掌握其独特的语法、强大的文本处理能力、模块化编程和丰富的库资源。通过"learning perl.pdf"和"Perl_语言编程.chm"这两本书,读者可以逐步建立起对Perl的全面认识,并能够运用...

    Perl语言入门教程

    perl 语言入门教程Perl 最初的设计者为拉里·沃尔(Larry Wall),他于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,...

    Perl 入门 纯正的小骆驼

    **Perl入门:纯正的小骆驼** Perl,全称Practical Extraction and Reporting Language,是一种功能强大的脚本编程语言,尤其适合文本处理、系统管理任务和网络编程。它以其灵活的语法和强大的功能,在IT领域中占有...

    Perl语言教程 Perl语言入门

    在Perl语言入门阶段,你需要了解以下几个核心概念: 1. **变量**:Perl中的变量以符号 ($) 开头,如 `$var`。不同类型的变量有不同的前缀,例如 `%` 用于哈希(关联数组),`@` 用于数组,`&` 用于函数引用等。 2....

    Perl语言入门(第四版).TXT Perl语言入门(第四版)

    ### Perl语言入门(第四版)知识点总结 #### 一、Perl简介 - **定义与特点**:Perl是一种高级脚本语言,广泛应用于系统管理、Web开发、文本处理等多个领域。其设计灵活,易于学习,拥有强大的字符串处理能力及正则...

    Perl语言入门各章习题源码

    这个压缩包文件“Perl语言入门各章习题源码”是针对《Perl语言入门》一书的学习资源,提供了书中各章节的习题解答源代码。这些源代码可以帮助读者更深入地理解和实践Perl语言的各种概念和技术。 Perl语言的特点之一...

    神奇的perl两本perl入门教材合集

    1. **Perl简介**:介绍Perl的历史、特点和适用领域,让读者对Perl有一个全面的认识。 2. **Perl安装与环境设置**:指导如何在不同的操作系统上安装Perl解释器,并设置开发环境。 3. **Perl语法基础**:包括变量、...

    Perl入门及高级编程

    首先,Perl入门部分将涵盖以下几个方面: 1. **Perl环境搭建**:讲解如何在Linux系统上安装Perl解释器,包括获取Perl源码、编译和安装过程。 2. **Perl语法基础**:介绍Perl的基本语法结构,如变量声明、数据类型...

    Perl语言入门(第五版-中文版).pdf

    《perl语言入门》也就是大家所称道的“小骆驼书”,是perl程序设计人员最为仰赖的启蒙读物之一。自1993年以来,这本书就成为热卖的perl语言教学材料,而此次新版又涵盖了perl 5.10的最新变化。本书的诸位作者自1991...

    Programming Perl + Intermediate Perl+Perl 入门

    总的来说,"Programming Perl"、"Intermediate Perl"和"Perl 入门"这三本书为学习Perl提供了全面的指导,无论是初学者还是有一定经验的开发者,都能从中受益。通过阅读这些书籍,你可以深入了解Perl的特性和用法,...

Global site tag (gtag.js) - Google Analytics