Perl基础知识

1.数据类型:

           标量:用$表示,最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。

           数组:数组变量以字符"@"开头,索引从0开始,如:@arr=(1,2,3)

           哈希:哈希变量以字符"%"开头,一个无序的 key/value 对集合。可以使用键作为下标获取值。

Perl为不同变量类型开辟不同的空间,所以不同的变量可以使用同样的名称。 $foo 和 @foo 是两个不同的变量。

2.字符串通常用一个标量表示,但是不是用0表示字符串的结束。

3.Perl双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。

4.创建变量:

       标量变量:$age = 25; print "Age = $age\n";

       数组变量:数组是用于存储一个有序的标量值的变量,要访问数组的变量,可以使用美元符号($)+变量名,并指定下标来访问。

@ages = (25, 30, 40);

print "\$ages[0] = $ages[0]\n";

print "\$ages[1] = $ages[1]\n";

print "\$ages[2] = $ages[2]\n"

($前加了转义字符\,会输出$)

      哈希变量:哈希是一个 key/value 对的集合,要访问哈希值,可以使用 $ + {key} 格式来访问

%data = ('google', 45, 'runoob', 30, 'taobao', 40);

print "\$data{'google'} = $data{'google'}\n";

print "\$data{'runoob'} = $data{'runoob'}\n";

print "\$data{'taobao'} = $data{'taobao'}\n";

$data{'google'} = 45
$data{'runoob'} = 30
$data{'taobao'} = 40

5.变量上下文:即表达式在的位置,上下文是由等号左边的变量类型决定的,等号左边是标量,则是标量上下文,等号左边是列表,则是列表上下文。

@names = ('google', 'runoob', 'taobao');

@copy = @names; # 复制数组

$size = @names; # 数组赋值给标量,返回数组元素个数

print "名字为 : @copy\n";      google  runoob taobao

print "名字数为 : $size\n";      3

6.Perl 中特殊字符的应用:

__FILE__, __LINE__, 和 __PACKAGE__ 分别表示当前执行脚本的文件名,行号,包名。__ 是两条下划线,__FILE__ 前后各两条下划线。

7.创建数组:数组变量以 @ 符号开始,元素放在括号内   @array = (1, 2, 'Hello');

访问数组元素使用 $ + 变量名称 + [索引值] 格式来读    $array[0]

添加和删除数组元素:push @ARRAY, LIST    将列表LIST的值放到数组ARRAY的末尾

                                    pop @ARRAY     弹出数组最后一个值,并返回它

                                    shift @ARRAY     弹出数组第一个值,并返回它。数组的索引值也依次减一。

                                    unshift @ARRAY, LIST     将列表放在数组前面,并返回新数组的元素个数。
切割数组,返回切割后的新数组:

@sites = qw/google taobao runoob weibo qq facebook 网易/; qw写数组

@sites2 = @sites[3,4,5];              weibo qq facebook

替换数组元素使用 splice() 函数:

splice @ARRAY, OFFSET [ , LENGTH [ , LIST ] ]  @ARRAY:要替换的数组,OFFSET:起始位置,LENGTH:替换的元素个数,LIST:替换元素列表。

8.哈希是key和value的组合。

访问哈希元素格式:$哈希名{key}

创建哈希:1.为每个 key 设置 value    $data{'google'} = 'google.com';

                  2.通过列表设置:列表中第一个元素为 key,第二个为 value。

  %data = ('google', 'google.com', 'runoob', 'runoob.com', 'taobao', 'taobao.com');

也可以使用 => 符号来设置 key/value:

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');

读取哈希值:@哈希名{key1,key2}

读取所有key:  keys %哈希名

读取所有值:values %哈希名

哈希检查元素是否存在:如果你在哈希中读取不存在的 key/value 对 ,会返回 undefined 值,且在执行时会有警告提醒。

为了避免这种情况,我们可以使用 exists 函数来判断key是否存在,存在的时候读取:

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');

if( exists($data{'facebook'} ) )

{ print "facebook 的网址为 $data{'facebook'} \n"; }

else { print "facebook 键不存在\n"; }

获取哈希大小:通过先获取 key 或 value 的所有元素数组,再计算数组元素多少来获取哈希的大小。

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');

@keys = keys %data;

$size = @keys;

print "1 - 哈希大小: $size\n";     3

9.文件操作:

读取文件:open(DATA, "<file.txt");  open 函数以只读的方式(<)打开文件 file.txt,DATA 为文件句柄用于读取文件

>表示写入方式,以读写方式打开文件,可以在 > 或 < 字符前添加 + 号,这种方式不会删除文件原来的内容。

读写文件:

读取 import.txt 并将每一行放到 @lines 数组中:

                            open(DATA,"<import.txt") or die "无法打开数据";

                          @lines = <DATA>;

                           print @lines; # 输出数组内容

                           close(DATA);

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值