Linux 版 (精华区)

发信人: tcpip (偶的昵称改了), 信区: Linux
标  题: 我所知道的Perl--变量1
发信站: 紫 丁 香 (Sat Feb 26 20:12:19 2000), 转信

****************************************************************************
本文不是perl的完整手册,这只是我的一点收集和整理.不能说是完整意义上的创作,听
前辈说写东西有两种境界,一种是写,一种是编.我是属于后者, 东拼西凑再加上自己使
用perl以来的体会,于是有了此文. 希望通过这个东西能让大家对perl有比较清晰的感
觉,更希望工大喜欢perl的人多起来.
       本文可以随意转载(删改后请给我一份),但只限于网络媒体!
****************************************************************************
第二章 Perl 的变量(第一部分)

   Perl没有名目繁多的变量,只有4种基本的,功能强大的数据类型,他们是:
 1.Scalars (标量)
 2.Arrays (数组)
 3.Hashes (哈希变量)
 4.Handles (句柄)
使用上极其简单,不需要声明,而且变量自身的类型还可以转变,这个在某种程度上说
是好事,但是有利必右弊,有时候它的类型可能并不是你想要的.好在大多数情况下你
不用担心这个问题.他们分别用$,@,%标示(句柄后面说).
   这4种的使用就像这个样子:
$my_var="1234";
@my_var=(1,2,3,4);
%my_var={'key1'=>'value1','key2'=>'value2'};
$line=<STDIN>;  
...

2.1标量
2.1.1 基本常识
   标量是Perl中的最基本的变量,可以用他表示整数,字符串,浮点数,2进制,布
尔值...使用的时候只要赋给他值就可以,不用声明,类似 
  Scalars $my_var;
的形式完全没有必要.Perl中的标量没有边界限制,在Perl中每种变量都没有边界限制
不用担心溢出,申请的空间不够用之类的问题,Perl替你解决底层的东西,你的任务就是
一心一意的写程序.举几个例子.
1. 
  $int=32768;
  $int++;
  这时候$int++等于多少?C程序员可能说,如果你的机器是16位的,结果就会成为
  -32767,而32位的机器则不会.实际上Perl总是返回32768,不管你用的是多少位
  的机器.
2.
  $string="a";
  $string++;     #$string is 'b' 
  $one=1+$string #$one will be 1
  这涉及到了Perl的自动类型转换,字符都被当成0来处理,需要注意! 
3.
  $char="1234";  #这是字符串
  $int=1234;     #这是整数
  $empty="";     #这是空字符串
4.
  $a="ab";
  $b=$a."cde";   #now $b will be "abcde"  
另外,Perl对字符和数字的比较操作符不一样:
--------------------------------------------------------------------------
数字                            字符
--------------------------------------------------------------------------
>,<,>=,<=,=,==,!=                       gt,lt,ge,le,ne,cmp,!
--------------------------------------------------------------------------
对数字还有+,-.*./,%,**,++,--,+=,-=,*=,/=,%=等操作.

2.1.2关于标量的函数
    这里只列出常用的函数名,一般都可以顾名思义,详细的用法请参考Perl的在
线帮助.他们是:
  length(),取长度
  chop(),chomp(),去掉最后一个字符
  substr(),取子串
  uc(),lc(),大小写互换
  ucfirst(),lcfirst(),第一个字母变为大(小)写
  defined(),undef(),
  grep(),搜索


--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 修改:.tcpip 于 Feb 26 20:15:08 修改本文.[FROM: tcpip.hit.edu.cn]
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: tcpip.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.611毫秒