Perl學習筆記二 嘗試優化檔案讀取

2021-05-10 09:55:06 字數 763 閱讀 8598

上次筆記中的perl程式在讀取檔案時是一行一行讀入的,作者猜想應該比較慢。今天作者試圖提高檔案讀取的速度。

因為perl允許將檔案內容全部讀入到乙個陣列變數中,所以作者將上次的程式修改如下:

#!/usr/bin/perl -w

# usage: fjoin.pl

# this program print all .cpp/.h files in to stdout

use 5.010;

use strict;

use warnings;

# sub: print a file to stdout

# arguments:

#     $_[0]  the file name

sub printfile

@lines = ;

close fhandle;

# the main program

my $dir = $argv[0];

my @allfiles;

my $file;

if(!defined($dir))

# iterate all files in the dir

@allfiles = <$dir/*>;

if(! @allfiles)

foreach $file (@allfiles)

elsif($file =~ //.h$/)

}但是執行結果卻反而比上次的更慢,耗時0.608秒。

具體原因是什麼,有待後續研究。

perl簡單學習筆記(二)

檔案操作 open mytext,test.txt 開啟檔案,mytext為檔案控制代碼 close mytext 關閉檔案 die函式 在出現錯誤的時候停止程式的執行 讀取檔案 while 每次讀一行 寫入檔案 open mytext,test.txt 改寫方式 open mytext,test....

Perl學習筆記(二) 標量資料

一 數字 perl內部並不存在整數值 程式中用到的整型常量會被轉換成等效的浮點數值 浮點數直接量 小數點與前置的正負號都是可選的,數字後面也可以加上用 e 表示的10的次方識別符號 即指數表示法 例如 1.25 7.25e45 7.25乘以10的45次方 12e 24 負12乘以10的 24次方 1...

Perl 學習筆記

在linux上,如果遇到這樣的提示 can t locate module datetime.pm in inc 意味著perl模組沒有安裝全,可以用cpan來安裝缺失的模組 perl mcpan e install module build 如果系統上很多模組都已經很舊了,用這個命令來自動更新 u...