C/C++学习ing。还是想要测试。

perl 学习笔记一

上一篇 / 下一篇  2009-03-27 09:19:55 / 天气: 晴转阴 / 心情: 平静 / 个人分类:perl

PERL用@和$来区分数组变量和简单变量
在PERL中,当一个自定义函数接收参数时,它都放在数组@_中,$_[0],$_[1]就是从该数组中去取参数。@_就是一个普通数组
 
1.联接且赋值(类似+=): .=
例子:
$a = "be";
$a .= "witched"; # $a is now "bewitched"
 
2.数组变量以字符"@"打头,第一个元素下标为0
例子 @array = (1, 2, 3)
 
3./def/即模式def
 
4.匹配指定数目的字符
   字符对{}指定所匹配字符的出现次数。如:/de{1,3}f/匹配def,deef和deeef;/de{3}f/匹配deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。
 
5.foreach $word (@words) {
    if ($word eq "the") {
      print ("found the word 'the'\n");
    }
  }
注:
(1)此处的循环变量localvar是个局部变量,如果在此之前它已有值,则循环后仍恢复该值。
(2)在循环中改变局部变量,相应的数组变量也会改变,如:
  @list = (1, 2, 3, 4, 5);
  foreach $temp (@list) {
    if ($temp == 2) {
      $temp = 20;
    }
  }
此时@list已变成了(1, 20, 3, 4, 5)。
 
6.子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。PERL中,子程序可以出现在程序的任何地方。定义方法为:
  sub subroutine{
    statements;
  }
 
7.my和local。其区别是:my定义的变量只在该子程序中存在;而local定义的变量不存在于主程序中,但存在于该子程序和该子程序调用的子程序中(在PERL4中没有my)。定义时可以给其赋值,如:
  my($scalar) = 43;
  local(@array) = (1, 2, 3);
 
8.五、子程序参数传递
1、形式
  &sub1(&number1, $number2, $nubmer3);
  ...
  sub sub1{
    my($number1, $number2, $number3) = @_;
    ...
  }
参数为数组时,子程序只将它赋给一个数组变量。如
  sub twolists {
    my (@list1, @list2) = @_;
  }
 
第四章和第三章(http://man.ddvip.com/web/perl/perl4.htm

TAG: 学习 语法 Perl perl

 

评分:0

我来说两句

Open Toolbar