《perl語言入門》之 第二章 標量資料

來源:互聯網
上載者:User
前言:

        定義:單複數概念----標量即單個事物,perl 用標量(perl 中最簡單的一種資料類型)來稱呼單件事物。 對大部分的標量來說,要麼是數字,要麼是由字元組成的串(perl 中不存在單個字元的概念,一個字串整體就是單個事物)。

        關聯:而標量之間又可以使用操作符(比如加法或字串串連)來關聯,產生的結果也是一個標量。
        來源和去處:標量可以儲存在標量變數裡,也可以從檔案和裝置讀取(或寫入這些位置)。

1.數字

        所有數位內部格式都相同:不管是整數還是浮點數,在perl內部,均按“雙精確度浮點數”(即當初用來編譯perl的C編譯其的double類型,大部分現代系統均使用IEEE-745的格式)的要求來儲存並進行運算。
浮點數直接量:        
        直接量的概念:直接量(literal:即字面值常量)是某個數值在perl 代碼中的書寫方式。直接量並非運算的結果,也不是I/O操作的結果,而是直接寫在程式原始碼裡的資料。
        直接量的寫法:一般寫法:12.45;科學計數法:-6.5e24:負6.5乘以10的24次方(e也可以大寫成E)。
        整數直接量:2001、-59、23455432等。
        註:為使看起來清晰,perl允許2345432也可以這樣表示:2_345_54_32。
        非十進位的整數直接量:
                八進位:以0(零)開頭,如037-----對應十進位:225
                十六進位:以0x(零)開頭,如0xFF----對應十進位:225
                二進位:以0b(零)開頭,0b11111111----對應十進位:225
                即以上三個數完全等價,且0b11111111也可以寫成:0b1111_1111(清晰很多)。

         數字操作符:加法(+)、減法(-)、乘法(*)、除法(/)、模數(%)以及乘冪(**)等。

2.字串

        定義:perl 中字串可以由任一字元任意組合而成,且Null 字元(NUL)在perl 裡並沒有特殊意義,因為perl 會另行記住字串的長度,而不是用Null 字元來表示字串的結尾。
        特性:最短的字串為不含任何字元的Null 字元串;最長的字串長度則無限制-------符合perl 儘可能遵循的“無內建限制”原則
        形式:
                 單引號:
單引號內的字串,除了單引號本身和反斜線字元外,單引號內所有字元均代表他們自己。
                 雙引號:與單引號類似,但雙引號內的字串直接量的反斜線字元擁有更大更完整的能力,可以用來表示控制字元或用八進位(或十六進位)寫法來表示任何字元。
                 註:反斜線轉義:通過反斜線加上各種不同的字元,以代表不同格式的資料。
         -----------------------------Linux 中單引號和雙引號--------------------------------------------------------------
                  Linux中單引號和雙引號都能關閉shell對特殊字元的處理,不同的是:
                  單引號更加嚴格,它關閉所有有特殊作用的字元。
                  而雙引號會放開3個選項,具體為:(1)貨幣符號:$;(2)反引號:~;(3)反斜線:\   。即這三種字元不被忽略(有特殊意義)。
         ---------------------------------------結束------------------------------------------------------------------------------
          字串操作符:.”:連接字串;“* a”:重複串連,重複次數為a;
          數字與字串之間的自動轉換:根據具體情況,perl 自動轉換。字串轉換為數字時:忽略字串中前置空白符和非數字部分(若沒有一個數字,則轉換為0);數字
轉換為字串時,數字轉換為(輸出效果)相同的字串------  一切無需程式員操心,perl 自動完成資料轉換的工作

3.perl 內建警告資訊

           當偵錯工具是,想顯示程式警告資訊,讓perl 發出警告,使用 -w 選項,開啟警告功能。如,perl  -w  my_program
           若想每次運行均啟用警告功能,可以使用#!行來指明: #! /usr/bin/perl  -w
           註:在perl 5.6或者更高的版本中,還可通過啟用 warnings這個編譯命令來開啟警告功能:
                           #! /usr/bin/perl
         user  warnings;
            而若要查看更加詳細的問題描述:perl -M  diagnostics 或use diagnostics;   -------該編譯命令會到時程式啟動變慢。

4.變數標量

          
定義
:變數即某個容器的名稱,可以儲存一個或多個值。
           perl 標識符:一個字母或底線為首,後面可以跟上多個字元、數字或底線。且標量變數明前總有 $ 符號
           慎選變數名稱:見名知意,保持一致。
           標量的賦值(=)和雙目賦值操作符(+=、-=...)

5.用print 輸出結果

            預設向螢幕輸出,如輸出多個值時用逗號隔開
            字串中的標量變數插入:雙引號內或與單引號串連兩種方式。
                    一些經驗:通過逸出字元可輸出特殊字元以及變數本身;可以將變數用花括弧圍起來,避免歧義。
             操作符的優先順序和結核性:
             比較操作符:

比較 數值 字串
相等 == eq
不等 != ne
小於 < lt
大於 > gt
小於或等於 <= le
大於或等於 >= ge
6.if 控制結構

               布爾值:perl 中沒有專用的“布爾”(Boolean)資料類型,它靠以下規則來判斷:
                         (1)如果值為數字,0為假;其他為真。
                         (2)如果值為字串,Null 字元串(’‘)為假;其他為真。
                         (3)如果既不是數字也不是字串,就先轉換成數字或字串再進行判斷。
                            註:由於字串0 和數字0是同一標量值,所以perl一視同仁,均看成假。
                擷取使用者輸入:最簡單方式:<STDIN> ,如$line=<STDIN>為讀取標準輸入到標量值line中直到遇到分行符號(即按下斷行符號鍵)。
                         註:<STDIN> 返回的字串,一般在最後都會跟有一個分行符號(除非異常終止)。

7.chomp 操作符

         刪除字串結尾處的分行符號。本質上是函數,傳回值為:實際移除的字元數(一般為1)。

8. undef 變數和defined 函數:

        undef:在首次被賦值前,變數的初始值就是特殊的undef(未定義--”空無一物“):一種資料類型:既不是數字也不是字串。
        但是,undef在需要的時候可隨機轉換:當作為數字時,轉換為零;當作為字串時,轉換為空白字串。
        例如,“行輸入”操作符<STDIN>有時會返回undef:當讀到檔案結尾時,會返回undef 來表示這個狀況。
        defined函數:判斷某個字串或數字是否為undef。若是undef則返回假;否則返回真。

               
                         

      

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.