关于数组排序的总结
sort 函数遍历原始数组的每两个元素,把左边的值放入变量 $a,右边的值放入变量 $b。 然后调用比较函数。如果 $a 的内容应该在左边的话, 比较函数会返回 1;如果 $b 应该在左边的话,返回 -1,两者一样的话,返回 0。
依据数值大小排序:
my @line=qw /1 2 34 9 12 4 3 8 67 53 1 42 1 17 3 0/; print "sorted numbers: "; foreach my $item(sort {$a <=> $b} @line){ print "$item "; }
代码中使用 <=> 比较函数,表示依据数值字面大小排序,此为升序,若要降序排序,仅需调换标量 $a 和 $b 位置即可。
依据第一个字符 ASCII 值排序: 将上述代码中的比较函数改为 cmp 函数即可,这也是 perl 默认的比较函数。
1. 替换数组元素。
splice(@ARRAY,OFFSET,LENGTH,LIST)
示例:
@a = (1..5); @b = (a..h); print "原始 @a\n"; splice(@a , 2 , 2 , @b); print "插入 @a\n";
结果:
原始 1 2 3 4 5 插入 1 2 a b c d e f g h 5
2. 删除。
splice(@ARRAY,OFFSET,LENGTH)
@a = (1..20); print "原始 @a\n"; splice(@a , 2 , 6); print "删除 @a\n";
原始 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 删除 1 2 9 10 11 12 13 14 15 16 17 18 19 20
3. 删除到末尾。
splice(@ARRAY,OFFSET)
@a = (1..20); print "原始 @a\n"; splice(@a , 2); print "删除 @a\n";
原始 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 删除 1 2
EOF在这里通俗讲就是一个标记,他用来标记一段文字(一般都是多行的,省得编码麻烦,用"<<"加上一个标记就可以把一大段代码存入到一个变量中去了)
$a=<< “EOF” 的意思就是说:下一行开始,直到遇见“EOF”为止,所有的字符都按照指定的格式存入变量a中。
你可以用EEE,MAMA等等其他的名字都可以,就是一个标记而已。他的作用就是简化输入。
perl 中的单引号和双引号:
(1)双中有双,单中有单都需要 \ 转义。
(2)双中有单或单中有双均不需要转义。
(3)单引号直接了当,引号内是什么就显示什么,双引号则需要考虑转义或变量替换等。
在 perl 的路径上也可以加上 -w,可以显示程序中出现的一些警告,尽管可能不影响程序的执行结果,方便我们修改我们的程序,例如:
#!/usr/bin/perl -w
#!/usr/bin/perl 需要参考自己的 perl 路径。
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
2030Perl 数组
关于数组排序的总结
sort 函数遍历原始数组的每两个元素,把左边的值放入变量 $a,右边的值放入变量 $b。 然后调用比较函数。如果 $a 的内容应该在左边的话, 比较函数会返回 1;如果 $b 应该在左边的话,返回 -1,两者一样的话,返回 0。
依据数值大小排序:
代码中使用 <=> 比较函数,表示依据数值字面大小排序,此为升序,若要降序排序,仅需调换标量 $a 和 $b 位置即可。
依据第一个字符 ASCII 值排序: 将上述代码中的比较函数改为 cmp 函数即可,这也是 perl 默认的比较函数。
2029Perl 数组
splice()函数小结
1. 替换数组元素。
示例:
结果:
2. 删除。
示例:
结果:
3. 删除到末尾。
示例:
结果:
2028Perl 基础语法
EOF在这里通俗讲就是一个标记,他用来标记一段文字(一般都是多行的,省得编码麻烦,用"<<"加上一个标记就可以把一大段代码存入到一个变量中去了)
$a=<< “EOF” 的意思就是说:下一行开始,直到遇见“EOF”为止,所有的字符都按照指定的格式存入变量a中。
你可以用EEE,MAMA等等其他的名字都可以,就是一个标记而已。他的作用就是简化输入。
2027Perl 基础语法
perl 中的单引号和双引号:
(1)双中有双,单中有单都需要 \ 转义。
(2)双中有单或单中有双均不需要转义。
(3)单引号直接了当,引号内是什么就显示什么,双引号则需要考虑转义或变量替换等。
2026Perl 环境安装
在 perl 的路径上也可以加上 -w,可以显示程序中出现的一些警告,尽管可能不影响程序的执行结果,方便我们修改我们的程序,例如:
#!/usr/bin/perl 需要参考自己的 perl 路径。