赞助广告 赞助广告
  当前位置:网络学院程序设计C/C++/VC → CGI编程--perl语言中的变量类型
CGI编程--perl语言中的变量类型
日期:2001年7月17日 作者:不详 人气: 查看:[大字体 中字体 小字体]
perl语言中的变量有以下五种:
  标量,指针,数组,哈希表(hash)和句柄。
一、标量
  我们先来看看标量,标量是perl语言中最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。在使用时在变量的名字前面加上一个“$”,表示是标量,相当于scalar中的第一个S。

  使用以下格式进行定义:
   $myfirst= 123;           # 数字 123  
   $mysecond="123";          # 字符串123    
   $mythird= "$myfirst,$mysecond";   # 字符串123,123
   $myforth= "$myfirst,$mysecond";   # 字符串$myfirst,$mysecond
  数字类型的标量可以使用0开头代表是8进制,用0x开头代表是16进制。例如:
   $var1= 017;             # 十进制的15
   $var2= 0xf;             # 十进制的15
  还可以使用下面的格式:
   $var3= 123_456_7;          # 1234567
  浮点数可以使用以下定义方式:
   $var4= 3.4;
   $var5= 4.3e+21;
   $var6= 234E345;

  perl中的字符串使用一个标量来表示,定义方式和c很像,但是在perl里面字符串不是用0来表示结束的。而且使用双引号和单引号定义的字符串是不一样的。使用双引号定义的字符串里面出现的变量名会进行替换,而且可以出现“nrt”等控制字符。而用单引号定义的就不可以了使用反斜杠引导的控制命令了(当然还可以使用反斜杠引道单引号和反斜杠),文本会按照字符串原来的样子保存。
  但是用单引号定义可以使用多行文本,如下所示:
   $var7='这是一个使用
   多行字符串文本
   的例子';
   $var8= ''';    # 字符串'

二、数组
  在Perl中数组使用“@”引导,“@”的意义应该是相当于array中的第一个a吧(嘻嘻,猜的)。数组初始化使用()。我们可以采用如下方法初始化数组:
   @var9=(1,2,3,4,5);
  而当引用数组中的元素时则使用下面的格式:
   $var10=$var9[1];
  数组前面的引导字符变成了“$”,表示这里是引用数组中的元素。
  如果使用“@”作引导字符,那么刚才的例子就会返回数组的长度。例如:
   $length=@var9;       # 则$length会返回数组长度也就是数组的元素个数5

三、哈希表(hash)
  哈希表是一种很特别的数据结构,我在学习数据结构时见过,叫做散列(Set),在使用perl之前,我在borland C++中见过一种类似的class,也叫做Set。在JavaScript中也提供了相似的数据结构,叫做关连数组Associated Array。

  哈希表用“%”引导。定义方法如下:
   %var11=("hello"=>"哈罗","nihao"=>"你好");

  使用方法如下:
   print $var11{"hello"};  # 输出 哈罗 $var11{"nihao"}="你好";
  还可以使用下面的方法定义:
   %var12= ("hello","哈罗","nihao","你好");
  这个方法的结果与上面的结果相同,但是我还是喜欢第一种方法,而且建议你也使用第一种方法。

四、句柄

  句柄是一种特殊的数据,用来保存系统资源的指针,例如文件,目录,管道,socket等等。在最新的perl中,实际上可以不使用这种数据。句柄类型没有引导字符。一般情况下大家习惯使用大写字母来标明句柄类型。例如下面的例子打开一个文件,读出一行,然后关闭。
   open(FILEHANDLE,"test.htm");
   $templine=<FILEHANDLE>;
   close(FILEHANDLE);
  这里<>起从句柄中读出一行的作用。

五、指针
  perl里面的指针分为两种类型,一种成为软指针,另一种称为硬指针。下面将主要介绍一下硬指针。在perl里面使用“”来生成指针。如下面的例子:
   $vavr13="hello";
   $pointerto=$var13;
  这时$pointerto就是一个指向$var13的指针了。访问指针指向的数据可以使用下面的方法。print $$pointerto; 也就是加上一个$就可以了。perl里面的指针与c里面的不同,perl里面的指针是有引用计数的。也就是说,如果一个数据可以记住自己被几个指针引用,当没有指针引用时这个数据会自动释放内存。

(出处:不详 )

相关文章:
 
·ASP实现文件在线压缩和解压缩
·网际快车FlashGet使用技巧荟萃
·一个天气预报的小偷
·Are you ready?
·ASP简介
·ASP基础
·ASP脚本基础
·ASP脚本变量、函数、过程和条件语句
·乔客论坛惊暴UPfile严重漏洞!
·ASP脚本循环语句
相关软件:
 
·动感下载系统 2.0(access版)k170美化版带天空华军小偷
·风韵设计综合娱乐网 v4.0 功能增强完美版
·Boai BLBS V1000
·Boai BLBS V3.3
·中国龙BlogVer 1.1.0MX版
·中国大学生设计网 全站程序第三版
·518主机域名在线管理平台 v1.5
·Zend StudioClient V3.5.1 特别版
·Zend Studio Client for Linux V3.5.1 特别版
·PHP v4.3.9 RC1
  特别推荐
  热点TOP10