• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

perl学习(1)基本语法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一: 如何运行

  在linux终端,直接输入 perl filenaem.pl

  Perl脚本在解释执行时和shell脚本一样,自顶向下,跳过sub定义部分依次执行。

二:标量

1:  标量

    可以是数字或者字符串;

    数字分为浮点数,整数(允许分隔符)和非十进制;

2:  字符串(单引号字符串与双引号字符串)

   单引号中的字符串:

    除单引号和反斜杠字符外,单引号内所有字符都代表它们本身;例如 ‘\n’代表\和n两个字符;

    ‘\’’表示单引号;‘\\’表示反斜线;

   双引号中的字符串:

    “\n”代表换行符;

    双引号字符串支持变量的内插;

    $,@,",\在双引号字符串中具有特殊意义,如果要在双引号字符串中表示这些字符,需要加上/;

3:  其他字符与字符串

    ‘\'\\’表示‘\;

    \u:将字符大写;\L:将字符小写

    重复操作符:“bug”x3  #输出bugbugbug;

    拼接操作符:“who” . "are" . "you" #输出who are you;

4:  标量的定义:以$开头;慎重使用Perl默认的一些变量:$ARGV,$_ $1,$2,...,$n,$$,$@,$?,$!

6:  双目操作符:

    

               输出结果:

7:  标量内插

    在双引号字符串中可以被内插,输出$符需要前面加转义\,或者使用单引号字符串

    eg:print “The price is \$5.\n”;

      print 'The price is $5.\n';

    如果要在变量内插后紧接着输出字母,数字或者下划线,可以使用花括号

    eg:"Today is \${year}_${month}_${day}\n"; #如果存在$year_与$year,加上{}以区分

8:  操作符

    **:幂操作符;

    gt,ge,It,ne,cmp:比较操作符

    ++,--:++可用于字符串,但结尾字符为’z‘,’Z‘,'9'时进位;--不能用于字符串,如果用于字符串,需要将字符转化为数字。

9:  undef(变量)

    变量在未赋值之前,默认值未undef;

    若被当作数字使用,会被视为0,若当作字符串使用,会被视为空串;

    undef既不是数字也不是字符串;

    有些操作符在参数越界或者不合理时,会返回undef;

10:  defined(函数)

    用来判断变量值是否未undef

三:  列表与数组

    列表是集合,数组是存储列表的变量;列表指的是数据,数组指的是变量;列表的值不一定要放在数组里,但数组都一定包含一个列表。

1:  列表的定义与初始化

    eg1:(5,8,9) #包含5,8,9三个数的一个列表;

    eg2:(1..100) #包含1到100的一个列表

    用qw符号定义单词列表:会将列表中的每一个元素当作单引号内的字符串

    eg: qw(my name is peter);

2:    数组定义

    @arg = (0,1,2,3);

    可以用列表对数组赋值:(arg[0],arg[1])= qw/array list/;

四:  数组与列表操作符

1:  pop()

    取出数组中的最后元素,并返回该元素的值;作用于一个空数组时,什么也不做,返回undef。

2:  push()

    添加一个元素或者一串元素到数组的末尾

3:  shift与unshift

    shift取出数组的开头元素,并返回;

    unshift添加一个元素或者列表到数组的开头

4:  foreach:遍历列表中的值,依次迭代;若循环中修改了控制变量的值,也就修改了这个列表元素的值

    这里的val是临时变量

5:  reverse:读取列表的值,并按相反的次序返回该列表

    

6:  sort:排序

   

          输出:

7:  上下文与scalar(强制类型转换)

    scalar函数:可以使用scalar函数强制制定标量上下文;例如:

    

             输出:

    scalar输出个数

五:  子函数(subroutines)

1:  定义

    sub开头;可在程序任意位置定义;无需对子程序进行事先申明;当出现重名子程序时,后面会覆盖前面

2:  子程序调用(&+子程序名)

    如&display();

3:  子程序参数(@)

    @_是子程序的私有变量,在当前的子程序调用中,@总是包含了它的参数列表;例如

    使用my声明私有变量,是局部变量。

4:  子程序返回值

    最后一次的结果会被自动当成子程序的返回值(不是最后一个语句);

    可以使用return操作符

5:  例子

    

             输出:

6:即使传入的是数组,也是使用my($a,$b)=@_,后可以使用数组@a。

  

  输出:

  

 

 

 

 

  

  

    

    

 

 

    

    

 

 

 

 

 

    


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[转] Perl 学习指南发布时间:2022-07-22
下一篇:
【perl】simpleHTTP发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap