• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            QuXiao

            每天進步一點點!

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              50 隨筆 :: 0 文章 :: 27 評論 :: 0 Trackbacks

            寒假期間看了一本關(guān)于Perl的入門書籍,感覺不錯,下面是一些讀書筆記:


            你將看到整數(shù)(如255,2001 等)和浮點數(shù)(有小數(shù)點的實數(shù),如3.14159,1.35x1025),但在內(nèi)部,Perl 都把它們當作雙精度浮點數(shù)來處理


            61298040283768,Perl 允許用下劃線來分隔它,因此可以像下面這樣書寫:61_298_040_283_768

            和C,C++不同,Perl 中NUL 字符沒有特殊的含義。Perl 能計算長度,不用靠null 來判斷字符串是否結(jié)束。

            單引號字符串中的\n 不會被當作換行符來處理,其僅僅是兩個字符\和n。只有在反斜線(\)后面接的是\或單引號’,其才會被當作特殊符號來處理。

            一個特殊的操作符是字符串重復操作符(string repetition operator),由小寫的字母x 表示。
            “fred”x 3        #“fredfredfred”
            “barney”x (4+1)  # “barney”x 5, “barneybarneybarneybarneybarney”
            5 x 4             #實際上是“5”x 4, “5555”

            標量變量在Perl 中由$開頭

            列表和數(shù)組可以包含任意數(shù)量的元素。最少含有0 元素,最多可以填滿你的可用內(nèi)存。這里又體現(xiàn)了Perl 的設計哲學,“沒有不必要的限制”。

            rocks 數(shù)組,其最后一個元素的索引為$#rocks

            Larry 提供了一種簡便方法:數(shù)組的負數(shù)索引值從最后一個元素開始
            負數(shù)索引值是-1表示最后一個元素

            一個給定的表達式在不同的上下文中其含義是不同的。
            $fred = something;                # 標量context
            @pebbles = something;          #列表context
            ($wilma,$betty) = something; #列表context
            ($dino) = something;             #列表context

            當Perl 遍歷此子程序時,將會計算每一步的值。此子程序中最后計算的值將被返回。

            這是Unix中很少人知道的一個事實:如許多標準的工具,如cat,sed,也使用這種約定,連接號(-)代表標準輸入流。

            技術(shù)上講,<>從數(shù)組@ARGV 中得到調(diào)用參數(shù)。

            printf“The items are:\n”. (“%10s\n”x @items), @items;

            程序的名字在Perl 的特殊變量$0 中

            只有Perl 成功的重新打開新的連接,否則是不會關(guān)閉以前的連接。

            要引用整個hash,使用百分號(“%”)作為前綴

            使用delete 后,hash 中將不會存在此key;如果其值是udnef,則key 是存在的。

            不要將正則表達式和shell 中的文件名匹配模式,globs 混淆了.

            Perl 中,注釋可以被作為空白

            使用綁定操作符(=~)將告訴Perl 將右邊的模式在左邊的字符串上進行匹配,而非對$_匹配。

            @fields = split /:/,“abc:def::g:h”; #得到(“abc”, “def”, “”, “g”, “h”)
            這里有一條規(guī)則:開頭的空元素會被返回,但結(jié)尾的空元素被丟棄
            @fields = split /:/, “:::a:b:c:::”; #得到(“”, “”, “”, “a”, “b”, “c”);

            默認時,split 對$_操作,模式為空白:
            my @fields = split; #同split /\s+/, $_;

            如果沒有指定文件名,則其從標準輸入流中自動打開和關(guān)閉一系列文件進行讀入。如果$^I中有字符串,這個字符串則會成為備份文件的擴展名。

            ?號在正則表達式中的第四種用法:問號,表示0 或1 的數(shù)量詞,非貪婪修飾符,現(xiàn)在是開頭符

            條件表達式也是先被求值的,雖然被放在后面

            last 會立刻結(jié)束循環(huán)。(這同C 語言或其它語言中的“break”語句類似)

            可以使用last 從“裸的”代碼塊中跳出。

            next 之后,又會進入下一輪循環(huán)(這和C 或者類似語言的“continue”相似)

            redo會調(diào)到當前循環(huán)塊的頂端,不進行條件表達式判斷以及接著本次循環(huán)。

            標簽在整塊之前使用;不是針對代碼中的某些點

            -T和-B分別檢測一個文件是文本的還是二進制,那Perl是怎樣知道的呢?答案是Perl欺騙了我們:它打開一個文件,查看前面幾千個字節(jié),進行合理的猜測。如果沒有太多的怪異符號,則其像文本

            每當在程序中使用stat, lstat,或文件檢測(file test)時,Perl 就會要求系統(tǒng)分配一塊stat buffer給文件(也就是,stat系統(tǒng)調(diào)用所返回的buffer)。這就意味著如果想知道文件是否是可讀且可寫的,需要對相同的信息進行兩次系統(tǒng)調(diào)用

            這暗示了一個目錄的連接數(shù)等于2 (.和..)加上其包含的子目錄的個數(shù)。

            在Perl 中,環(huán)境變量可以通過%ENV 這個hash 變量得到

            對于system和exec,其輸出的結(jié)果傳到Perl標準輸出的地方。有時,將其結(jié)果作為字符串保留下來以便進一步處理是很有趣的。這可以通過使用反引號(`)而非單引號或者雙引號做到

            Perl 提供了處理嚴重錯誤的方法:將這些代碼放入eval 塊中

            eval 是一個表達式(不是像while 或foreach 那樣的控制結(jié)構(gòu)),因此結(jié)尾處的分號是必須的。

            如果eval 捕捉到了嚴重錯誤,則返回值為undef 或空列表,依賴于其context

            如果將列表的一個元素被賦給undef,則意味著忽略此元素:
            my(undef, $card_num, undef, undef, undef, $count) = split /:/;

            同array slice一樣,(hash slice)變量前的符號($或@符號)決定了下標表達式的context。如果前面是$符號,則下標表達式是在標量context 中被求值,得到一個值◆。如果之前為@符號,則下標表達式在列表context 中被求值,得到一列值。

            posted on 2009-02-02 14:36 quxiao 閱讀(615) 評論(1)  編輯 收藏 引用 所屬分類: 讀書筆記

            評論

            # re: 《Perl入門》讀書筆記 2011-01-10 15:28 gg
            挺好的!  回復  更多評論
              

            伊人丁香狠狠色综合久久| 色婷婷综合久久久久中文字幕| 久久久久久久91精品免费观看| 亚洲精品乱码久久久久久中文字幕| 国产精品久久99| 色诱久久av| 色综合久久综合中文综合网| 久久99国产综合精品免费| 久久精品综合网| 性欧美丰满熟妇XXXX性久久久 | 久久久久久国产精品无码下载| 国产成人久久精品一区二区三区 | 草草久久久无码国产专区| 久久综合久久综合亚洲| 五月丁香综合激情六月久久| 狠狠综合久久综合中文88| 99久久精品无码一区二区毛片 | 精品久久8x国产免费观看| 国产精品99久久久久久董美香| 成人综合久久精品色婷婷| 欧美久久一区二区三区| 狠狠色丁香久久婷婷综合五月| 内射无码专区久久亚洲| 亚洲国产成人精品女人久久久 | 国产激情久久久久影院小草| 久久亚洲AV无码精品色午夜麻豆| 国产精品99久久免费观看| 久久久久久久免费视频| 久久免费视频6| 国产精品欧美亚洲韩国日本久久| 久久精品aⅴ无码中文字字幕重口| 国产成人精品久久| 伊人伊成久久人综合网777| 成人久久免费网站| 伊人伊成久久人综合网777| 久久久久亚洲AV成人网人人软件| 精品无码久久久久久午夜| 亚洲精品国产美女久久久| 人人狠狠综合久久88成人| 精品免费tv久久久久久久| 91久久九九无码成人网站 |