隨筆 - 32, 文章 - 1, 評論 - 5, 引用 - 0
          數據加載中……

          perl中神奇的split

          perl的split,感覺它還是很容易讓新人誤會.但有很多時候,如果數據是固定標記來分隔,用他比使用正則可是方便多了.
          為什么講perl的第三個參數很神奇啦.主要在于split的第三個參數.
          我們知道split是工作在列表的環境,他會裝輸入的數據,多分割幾次,在建立結果列表,然后返回.接著,會返回第三個參數內的數據,其它的都扔棄.
          第三個參數一定要非常小心,為什么,如下的程序,我們只需要前二個參數.我們注意第三個參數

          #!/usr/bin/perl
          while(<DATA>){
            
          my ($aa, $dd= split(/\s+/, $_, 2);
              
          print "$aa  || $dd ||\n";

          }

          __DATA__
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx
          1xxxxxxx  2xxxxxx 3xxxxxx 4xxxxx 

          如果split第三個參數是寫的2的話,輸出如下結果
          11xxxxxxx  || 2xxxxxx 3xxxxxx 4xxxxx
          2||
          31xxxxxxx  || 2xxxxxx 3xxxxxx 4xxxxx
          4|| 
          5


          如果split是寫的3的話,輸出如下結果
          11xxxxxxx  || 2xxxxxx ||
          21xxxxxxx  || 2xxxxxx || 
          3


          這主要是因為,如果想取得前2個字段,字段記數為3.因為需要給文件切成3份.拿出前二份.不然都給最后面部分做一份了.
          轉自遠望技術論壇。

          第三個參數在大數據量情況下還是可以提高不少速度。

          posted on 2010-12-01 17:36 colorfire 閱讀(977) 評論(1)  編輯  收藏 所屬分類: 腳本語言

          評論

          # re: perl中神奇的split  回復  更多評論   

          寫的真不錯,我最近也在寫一個關于Perl的教程,希望能多交流和指點。
          能力有限,見笑了:http://www.yiibai.com/perl
          2012-09-02 22:49 | forwall
          主站蜘蛛池模板: 资源县| 博客| 法库县| 嵩明县| 宕昌县| 昆山市| 开平市| 久治县| 宣城市| 吴川市| 潢川县| 德钦县| 柯坪县| 无锡市| 克东县| 永安市| 鄱阳县| 大化| 星座| 盐亭县| 佛山市| 乐清市| 策勒县| 荔浦县| 赤城县| 拉孜县| 确山县| 扎鲁特旗| 金平| 衡南县| 漾濞| 江阴市| 南充市| 新竹市| 沛县| 潢川县| 蒲城县| 和田县| 湾仔区| 邢台市| 黄冈市|