`
BradyZhu
  • 浏览: 247655 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl总结(1)

 
阅读更多

Perl作为一种脚本语言,用于自然语言处理和文本相关的问题上,非常简单直接。最近用的也比较多,在这里做一个小总结吧。

首先介绍一下数据类型(变量类型),perl中有三种类型的变量,用不同的前缀来区分,如下所示。Perl中的变量是不需声明也可直接使用的,但是声明变量有助于查错,是比较好的编程习惯,还是建议大家在使用之前先声明一下吧。


1、Scalar(标量)

标量是Perl中最简单最基础的一种数据类型,可以是一个字符、字符串或者数字(整数或浮点数)。变量变量以$开头。如下:

my$x=“dollar”;

my$y=12345;

my$z=1.2345;

数字和串等之间的转换如下所示:


数字和数字之间的比较和C语言一致,为"=="。

定义串常用到的符号:


字符串中会用到的函数:


2、数组(Array)

数组(array)内存放的变量为列表,列表可以看做一系列标量的一个有序集合,和C里面的数组不同的是,这里的数组不要求内部所有变量是同一种类型的,也就是说,数组中可以同时存储字符串和数值。数组变量以@开头,如下所示:

my@arr=(22,“why”,12.34);

my@arr=(length(“why”),“hello”.“name”;

my@arr=($var,1.23*55);

my$var=$arr[5];  #$varwillgetundef

$arr[5]=8;     #@arrchangesto(1,2,3,undef,undef,8)

数组中会用到的函数:


3、Hash(哈稀)和散列

Perl里面的哈稀是值对,一个键对应一个值,其中键必须唯一,可以通过键来映射到值。如下所示:

my%hash=("red"=>"apple",2.5=>1,"yellow"=>"banana",3.14=>"pi");

符号"=>"很好的表示了哈稀结构中键与值的映射关系,左侧为键,右侧为值。

哈希中会用到的函数:


4、引用(reference)

提完前面3中类型的变量,我觉得不得不接着提一下引用。Perl里的引用非常强大,你可以创建一个引用让它指向一个数组。Perl中有两种引用:硬引用和符号引用。因为符号引用被usestrict禁止了,所以一般的引用都指的硬引用。




二、基本操作符

1.赋值运算符

即最常见的“=”操作符,它把右边的表达式的值赋给它左边的变量,例如:

$str="string";

2.算术操作符

见下表:


3.字符操作符

Perl的字符串操作符包括连接操作符”.”和复制操作符”x”:

$example=‘Hello’.’World’;

$example=”\t”x8;

@array=(1,2,3,4,5)x2;#(1,2,3,4,5,1,2,3,4,5);

4.比较操作符


5.逻辑操作符

6.组合赋值操作符

三、标量上下文和列表上下文

在perl里面上下文是一个非常重要的概念,在写perl脚本的时候我们无时无刻不在使用它。

在Perl中,所谓上下文,是指同一个表达式,出现在不同的地方会有不同的结果和意义。体现最明显的是标量和列表两种变量,所以有标量上下文和列表上下文。标量上下文中的表达式被期望返回一个标量值,而列表上下文中的表达式则被期望返回一个列表。例如:

5*guess

shiftguess

keysguess

上述的例子中,guess出现在三个地方:乘号操作符期望它是一个数值,因此第一个guess处于标量上下文,更准确点是数值上下文;shift操作符期望它是一个列表,因此第二个guess就处于列表上下文;最后keys函数期望something是一个哈稀结构,所以最后一个guess就处于散列上下文。

在标量上下文中使用产生列表的表达式大多数情况下会返回列表元素的个数,在列表上下文中使用产生标量的表达式,它会自动产生一个仅含此标量值的列表,即使这个标量值为undef。

分享到:
评论

相关推荐

    Perl学习总结 - 副本.docx

    Perl学习总结 - 副本.docx

    perl语言个人学习总结教程

    主要总结了perl语言的基础内容以及个人的学习体会,为初学者提供一定的参考与借鉴。

    perl语言中的变量类型

    perl语言中的变量类型 PERL 学习中总结

    Perl函数小结

    Perl函数小结,本人自己总结的,简单易懂

    Perl程序如何调用C代码

    此文档详细讲解Perl程序对C代码的调用,是对自己工作内容的一个总结,亲自操作,正确无误,欢迎下载。

    perl程序员应该知道的事

    不知道是谁总结的,总结的很好,可以帮助很快入手perl。很感谢作者

    perl脚本语言学习笔记心得

    这个文档中记录和总结了我学习perl脚本语言的一些经验和初学者需要注意的事情

    Perl函数集及内置变量锦集

    perl的内置特殊变量还有很多的,例如常用的还有@_、@ARGV、$ARGV、%INC、%ENV等等,有很多,不可能一一列举了,这里给出一个比较有总结性的列表,是chinaunix上perl社区的一个网友总结的,还算比较全。

    perl 函数 总结

    perl 语言 初学者 适合看 复习 回顾之用

    Perl语言参考手册(中文html).CHM

    比较全面的perl参考手册,实用, 很多是前辈的经验总结,有需要的朋友可以使用,很珍贵的资源 初入门的朋友,还有不想看英文文档的朋友,有需要的朋友可以使用,很珍贵的资源

    grep、sed、awk、perl等对正则表达式的支持的差别

    grep、sed、awk、perl等对正则表达式的支持的差别,大牛总结的,适合高手参考用。

    Perl高级教程人称“大骆驼”(免费)

    第一章 Perl概述............................................................................................................................10 1.1 从头开始.................................................

    perl学习资料

    有关于perl语言的比较详细的资料详细介绍perl的语法和经验总结

    Perl对象总结

    NULL 博文链接:https://fantaxy025025.iteye.com/blog/784762

    perl正则表达式学习手册

    perl的正则表达式,总结的一个小手册,用着还是挺方便的。

    Perl/C#连接Oracle/SQL Server

    先将我用到的总结一下。  1. Perl 连接数据库  Perl 连接数据库的思路都是:  1)使用DBI模块; 2)创建数据库连接句柄dbh; 3)利用dbh创建语句句柄sth; 4)利用sth执行sql语句; 5)利用sth处理数据。  ...

    PHP扩展模块Pecl、Pear以及Perl的区别

    一、简短总结:pear:一个书写的比较规范,国外较流行的工具箱代码集pecl:php扩展包,但不属于php基本扩展范围perl:一种早于php出现的脚本级语言,php借鉴了他的正则表达式部分 二、Pear、Pecl都是PHP扩展模块的...

    watchdog:看门狗写在perl上

    看门狗的此自述文件在perl上编写。 该存储库是做什么用的? 快速总结 版本1.7 去做 核心功能: :check_mark_button: Craft.io检查 :check_mark_button: 检查日志是否正在更新(文件刷新) :check_mark_button: ...

    openLDAPb部署目录服务

    还没有正式开始学习要学的东西就已经被环境搞得很头疼,总结如下 安装perl支持 yum install perl* (yum安装perl相关支持) yum install cpan (perl需要的程序库,需要cpan的支持,详细自行百度) 下载perl并安装 ...

Global site tag (gtag.js) - Google Analytics