上次筆記中的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...