My Opera is closing 1st of March

simple

Subscribe to RSS feed

我的perl学习笔记,perl中的标量

  1. 整型,正负的十进制数,可有下划线。整型有长度限制,太长了往往会和期望的值不一样
    14
    10000000000
    -27
    1_000_000
    
  2. 浮点型。事实上,整型在perl中是以浮点型标量表示的,整型只是一种比较特殊的浮点型标量。浮点型标量太长了的话,print出来会以科学计数法表示。如果一个浮点型标量太小的话,print出来则可能为0。如果小数点后面没有有效位的话,那么print出来就会变成一个整数。如果一个浮点型的值太大了以至于超过了计算机的浮点寄存器大小的话,那么perl会打印出Infinity。视计算机情况而定。
    浮点型标量的算术运算和舍入会出问题,往往和自己想象的不一样。
    11.4
    -275
    -0.3
    .3
    3.
    541e+01
    54.1e+02
    5.41e+03
    5.12e+00
    5.12
    5.47e+03
    5.47e03
    
  3. 八进制和十六进制符号
    八进制可以在数值前面加0表示
    $result = 047;
    

    十六进制的话,可以用0x表示
    $result = 0x1f;
    
  4. 字符串
    用双引号将一串字符组合起来就成了字符串
    $var = "This is some text";
    

    perl支持替换字符串中的变量
    $number = 11;
    $text = "This text contains the number $number.";
    

    会输出
    This text contains the number 11.
    

    但大多数的做法是
    print ("The final result is ", $result, "\n");
    

    perl支持转义符
    Escape Sequence Description 
    \a Bell (beep)  
    \b Backspace  
    \cn The Ctrl+n character  
    \e Escape  
    \E Ends the effect of \L, \U or \Q  
    \f Form feed  
    \l Forces the next letter into lowercase  
    \L All following letters are lowercase  
    \n Newline  
    \r Carriage return  
    \Q Do not look for special pattern characters  
    \t Tab  
    \u Force next letter into uppercase  
    \U All following letters are uppercase  
    \v Vertical tab  
    

    "\"为转义符,用"\nnn"可表示八进制数,用"\xnn"可表示十六进制数
    perl同样支持用单引号包装字符串,但是和双引号有区别。
    不会自动替换其中的变量。
    可以包装多行字符串。
  5. perl中,字符串和数值有可能互相转换
    如果一个字符串既包含数字又包含字母,那么perl转换过来的数值会在第一个字母前截断。