在linux上,如果遇到這樣的提示
can't locate module/datetime.pm in @inc
意味著perl模組沒有安裝全, 可以用cpan來安裝缺失的模組
# perl -mcpan -e- 'install module::build'
如果系統上很多模組都已經很舊了,用這個命令來自動更新
# /usr/local/bin/perl -mcpan -e 'cpan::shell->install(cpan::shell->r)'
在windows上,則可以用active perl 工具: ppm, 檢測已安裝的perl工具包
cpan 是全面perl 歸檔網路(comprehensive perlarchive network)的縮寫,那是乙個值得常去的地方。這裡有perl 原始碼,
容易安裝到非類unix 系統的perl,例子,文件,perl 擴充套件部分,perl 歸檔資訊等。簡言之,cpan 是全面的。
use file::basename;
print f $line;
將$line寫入檔案f,新增到f尾部,而不會清除掉f原有內容。
e.g.
my $cretablefile = $dirname . "1.txt";
my $line = ();
$line .= "nice to meet you";
open (f, ">>$cretablefile") or die "error: cant open file $cretablefile>($!)/n";
print f $line;
close f;
如果 <> 括號之間沒有任何字元,則表示從命令列所指示的檔案中讀取資料
scalar:標量,數字或字串,$a="wang"
list: 陣列,@a=("wang",123,99.99), $test=$a[1]
hashes: 雜湊/關聯陣列,%a=(one,"wang",two,"jason"), $test=$a
如果字串結尾有換行符,chomp可以去掉它。這基本上就是它能完成的所有功能,如下例:
$text = 「a line of text\n」; #也可以由輸入chomp($text); #去掉換行符(\n)。
如果在foreach 迴圈中省略了控制變數,那perl 會使用其預設的變數:$_。除了其不尋常的名字外,這和普通變數類似,如
下面**所示:
foreach(1..10)
perl 子程式可以帶引數。將引數列表傳給子程式中的方法是,在程式名後面接括號,括號內存放引數列表,如:
$n = &max(10,15); #此子程式有2 個引數
此引數列表被傳到子程式中;這些引數可以被子程式使用。當然,這些參存放在某個地方,在perl 中,會自動將此引數列表(此引數列表的另乙個名字)自動存放在乙個叫做@_的陣列中。
<>操作檢視@argv 來決定使用哪些檔案。如果表為空,則使用標準輸入流;否則,使用其找到的相應檔案。
開啟檔案
open (file, $filename) || die 「can』t open $filename\n」;
while($line = )
print "$line";
close(file);
刪除檔案
unlink("abc.txt");
目錄操作
opendir
closedir
mkdir
匹配: m// m可以略去。末尾可帶引數i,表示不區分大小寫
替換(search and replace): s/// 末尾可帶引數g,表是全域性替換。
=~ 表是匹配
!~ 表是不匹配
system「date」
system 『ls–l $home』
my $now = `date`; #捕獲date 的輸出
perl 學習筆記
perl 語法 一 資料結構 標量 陣列 雜湊 0 八進位制 0x 十六進製制 注釋 二 字串 1 字元鏈結 2 單引號內字元不會被轉義 3 v字元 乙個以 v 開頭,後面跟著乙個或多個用句點分隔的整數,會被當作乙個字串文字。foo v102.111.111 4 here 文件 print 5 特殊...
Perl學習筆記
標量 陣列陣列是標量資料的有序列表,是多個標量資料的一種集合。可以包含任意多個元素,從0到全部佔滿記憶體。以 符號作為標識。1,2,3 包含1,2,3三個數字的列表 1,2,3 三個數字,最後逗號被省略 test 4.5 兩個值 空列表 零個元素 1 5 代表 1,2,3,4,5 5 1 空列表,從...
Perl學習筆記
第2章 perl有兩種型別,數字和字串 2.1 數字 所有數字最後都轉換為雙精度浮點數。使用ieee 754的格式。計算中可以方便使用乘方,其格式為 x y。比如,2 3,表示2的3次方 2.2 字串 最強大的!1 最短的字串不含任何字元 最長的字串可以填滿整個記憶體。2 沒有nul字元 特殊字元需...