注:本文为原创,不妥之处请见谅。主要是写给自己的
就是写代码留下来的点点滴滴,些许感悟与大家共勉
1,注意结果写分号
2,print的单引号与非单引号的区别
3. print 'hello'."\n"; 连接的时候变为双引号了就。
4 print 可以加逗号的
5.双引号和单引号的区别要区分
6数字与字符串之间比较的区别
————————————————————
7数组中-1的索引是最后一个元素。
8注意打印1到5
print 1..5; 没有qw
9列表的位置交换的快速方法 不用第三个变量
($fred[0],$fred[1]) = ($fred[1],$fred[0]);
10数组初始化不用加
@arr=1..9;
11只有一堆字母的时候采用qw的
12@arr2=(@arr,"dfd",$fred[0]); 这是 数组利用其它数组和变量初始化的方法。。。
13 push 中间要有逗号才行的。。。
14 内插数组输出的话会有空格 不内插没有空格是连续的字符的。
15 @rever=reverse qw(zhu xiang bin );
不带双引号的。。
16 强制打印出数组数组个数:
print scalar @rever;
17回车 过滤 与foreach的详细使用
chomp(@lines=<STDIN>);
print "\n";
print "@lines";
foreach $item (@lines) {
print $item,"\n";
}
18 注意一下这个的用法$_
foreach (@names)
{ print $_,"\n";
}
19 注意print的返回值。。。。
$a=10;
$b=100;
sub sum{
print "sum is called:\n";
$a+$b;
print "oh no!!!\n";
}
$s=∑
print $s,"\n";
最后执行的表达式才是我们所返回的值。。。
20 if语句 不能像C语言那样省略大括号的。否则就会出现错误,在判断里面最后返回的变量要再写一下的。。。。如下所示:
sub max{
my($maxnum)=shift @_;
foreach (@_)
{
if($_ > $maxnum)
{
$maxnum=$_;}
}
$maxnum;
}
21.可以直接这样打印函数值的。
print &max(2,3,4,5,6,3,7,4);
22.有关于my的用法 注意
my($num)=@_ 和 my $num=@_的区别。。
use strict使程序变的更加严格一些的。
#use strict;
$aaaa+=4;会出现错误 直接引用这个变量的话。。
23.注意数组或者变量别忘记加小圈或者$ 否则错误是很多的。。
24.$#array返回的是数组最大的下标。。。。
25.注意参数的这种赋值方法。
26.这是全局的一种做法。
sub return_colume{
#my($fred,$barney)=@_;
if($fred<$barney){
$fred..$barney;
}
else
{
reverse $barney..$fred;
}
}
27.许多时候都要使用use 5.010; 来进行相应的操作。。
28.state $sum=0;
state @numbers;多少有点这个函数的私有的东西一样。。。。。
29.函数的一种调用方法
$usertotal=total(<STDIN>); 是以输入的数组为变量的。
30.函数是不支持内插的。。。。。。