perl之数组

数组是perl里面一种非常有用的东西 ,比如我们可以采用以下的方式为 perl数组赋值.

 perl |  copy code |? 
@arr = ('hello','world','welcome come to perl word!');

也可以使用一下的方式为数组赋值:
 perl |  copy code |? 
@b=(1..10); # @b 元素为 1到20。

  对于字母也一样哦 ,
 perl |  copy code |? 
@b=("a".."z");  

 perl |  copy code |? 
@empty=();  

  恩,是不是觉得这样很爽呢?更爽的还在后面呢,perl当然也支持对特定元素的赋值喽~~~,像这rl样
 perl |  copy code |? 
$b[0]=100

恩,你一定注意到了 @ 变成了 $ ! ,哈哈, 这是因为在Perl中 $ 表示对特定元素的操作,而@则是对 一组数据的操作
至于数组间的赋值嘛,这样搞就可以喽
 perl |  copy code |? 
@a=@b

追加元素?别着急, follow me
 perl |  copy code |? 
@c = ("Hello");
@c = (@c , "world\n");

同理于 数组元素追加操作
 perl |  copy code |? 
@c = ("Hello");
@d = (" hi, " , " 我是 柏林 " ) ; 
@c = (@c , @d );
print @c; //THis will print Hello hi, 我是 柏林 

另外 与此操作相似的有个 push函数~ 比如,
 perl |  copy code |? 
push(@c,"hello"); 
push(@c,("hello","我是柏林"));
push(@c,@a); 

有尾自然有头喽, unshift函数就是负责从数组开头开头 加入元素,
 perl |  copy code |? 
unshift(@c,"hello"); 
unshift(@c,("hello","我是柏林"));
print @c;

好了 , 有了操作数组两端的函数那么一定也会有操作数组中间部分的函数,这个函数就是splice
splice 有三个功能
一: 向数组中间的一部分插入内容
 perl |  copy code |? 
@d=(1..9);                                                                      
my @e=("a".."d");
splice(@d,3,0,@e); 
print @d; //This will Print 123abcd456789

二 删除 指定元素
 perl |  copy code |? 
@d=(1..9);                                                                      
my @e=("a".."d");
splice(@d,3,6); 
print @d; // Print 1236789 , 从第3+1个元素起,删除6个元素.

如果第三个元素不指定,默认将删除第二个参数之后的所有元素.
其他几个不常用的函数,
undef(); 的作用是把数组的内容清空。
chop(); 的作用是把数组内每个元素的末尾去一个字符。
chomp(); 的作用则是把数组内的每一个元素的末尾的换行符去掉。

我们还应该介绍一个函数就是scalar,这个函数取得数组的长度,不过在perl中,经常使用

 perl |  copy code |? 
my @a= (1,2,3,4);
print @a."\n"; //4

Posted in perl |

0 Comments.

Leave a Reply

[ Ctrl + Enter ]

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Get Adobe Flash playerPlugin by wpburn.com wordpress themes