一:
(3)
()
(2)
(1)
(2)
(4)
(1)
(1)
(4)
二:
2 my %hash=(
a => 'hello',
b => 'word', ) ;
my @arr = %hash ; # hash转换成数组
my @arr1 = qw/a hello b world/;
my %hash1 = @arr1 ; # hash转换成数组
三
#!/usr/bin/env perl
use IO::File;my $point = \@ARGV ;
use strict;
use warnings;
my $FH = IO::File->new(">>test");
$FH->print("hello, world");
标量直接量即直接定义的值,一般为以下两种:
使用时直接使用或加运算符即可。常见的有加减乘除 +-/ ,乘幂为 ,取余数 %
41、undef特殊标量:表示0或者空字符串
42、chomp函数:去掉标量结尾的换行符,十分常用;因为在实际 *** 作中,逐行读取一个文件内容,每行结尾都会有一个换行符的。
这里有两个概念:列表与数组,但一般指的都是一个意思,可不必区分
push :结尾添加 ; pop :结尾移除
shift :开头移除 ; unshift :开头添加
结果会发现 sort默认并非按照数值大小排序,10排在了第二位。这是因为perl排序默认并非为数值排序。后面会学习到实现数值排序的方法。
数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH
负值索引就是从后面依次取数组的索引,依次是(-1,-2,-3,-4,),就是为了让你方便从数组里面取出值来用的。这样用数组实现一个栈就很容易了。例子你看楼上的就明白了。
c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数)
如:
{
int data[4];
int length;
length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小
printf("length of data[4]=%d", length ); //输出length of data[4]=4
}
sub randomElem {
my ($want, @array) = @_ ;
my (%seen, @ret);
while ( @ret != $want ) {
my $num = abs(int(rand($#array)));
if ( ! $seen{$num} ) {
++$seen{$num};
push @ret, $array[$num];
}
}
return @ret;
}
my @array = ( 'A''Z' );
for ( 110 ) { # 给你 random 10 个看看
my @new = randomElem ( 3 => @array ) ; # pick any 3 from @array
print "@new$/";
}
randomElem() 的第一个参数是你要从後面的数组中抽出几多个元素
以上就是关于perl基础知识全部的内容,包括:perl基础知识、perl入门02:标量与数组、perl 数组的问题。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)