Time of Update: 2018-07-20
sub checkMD5() { my ( $md5val,$scan_file) = @_; if ( $md5val !~ /[0-9a-f]{32}/i) { die "invalid md5 value./n"; } if( ! -e $scan_file ) { print "No updateX file exist. /n"; return
Time of Update: 2018-07-25
將“use POSIX ":sys_wait_h";”去掉,還有在主進程中列印子進程中的變數是不對的,主進程不知道子進程的狀況,除非你用pipe將變數值傳給主進程,###################################################!/usr/bin/perl#use POSIX ":sys_wait_h";my $a=10;for($i=1;$i<=3;$i++){my $pid=fork(); if
Time of Update: 2018-07-25
perl作為一種解釋性的語言,很受廣大系統管理員的歡迎,好處麼就不多說了,壞處也有不少,例如對線程的支援,就一直不咋地,所以大多數情況下,我們都需要多個進程,來協助我們完成工作,閑話少說,上代碼。 #!/usr/bin/perl # test_proc.pl # test multi process # create by lianming: 2009
Time of Update: 2018-07-26
[zhujiang@localhost git-2.5.2]$ make SUBDIR perl/usr/bin/perl Makefile.PL PREFIX='/usr' INSTALL_BASE='' --localedir='/usr/share/locale'Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5
Time of Update: 2018-07-22
Perl中的特殊變數 1. $&, $`,$' 用在模式比對中 $& 用來存放匹配中的值$` 用來存放匹配中之前所有字元$' 用來存放匹配中之後所有字元如:#!/usr/bin/perl -wif("Hello good there,neigbor hello&
Time of Update: 2018-07-29
http://developer.51cto.com/art/201007/213719.htm http://www.ibm.com/developerworks/cn/linux/sdk/perl/culture-4/index.html http://www.sdsc.edu/~moreland/courses/IntroPerl/docs/manual/pod/perldebug.html#NAME
Time of Update: 2018-08-21
平時也是偶爾用用,比較零散,稍為不留神便與shell,sed,awk有些混在一起感覺,心想還是打好基礎,認清功能為先; 於是開始... 今天先列個題綱要學習的內容: 1.什麼是perl? 2.它用來做什麼。 3.如何學會它。 4.需要掌握的知識點 4.1 代碼執行格式 4.2 文法 4.3 命令
Time of Update: 2018-08-03
標籤:style each 實現 print col %s 數字類型 size perl 數實值型別數組排序使用:sort { $a <=> $b } @array;
Time of Update: 2018-06-20
標籤:each Fix use open file get foreach gre usr #!/usr/bin/perluse File::Basename;my $result_dir =
Time of Update: 2018-12-03
如果字串結尾有分行符號,chomp 可以去掉它。這基本上就是它能完成的所有功能,如下例:$text = “a line of text/n”; #也可以由<STDIN>輸入chomp($text); #去掉分行符號(/n)。它非常有用,基本上你的每一個程式都會用到它。如你將知道,這是將字串末尾分行符號去掉的最好方法。基於Perl 中的一條基本原則:在需要使用變數的地方,可以使用賦值運算式來代替。我們有更簡單的使用chomp 的方法。Perl
Time of Update: 2018-12-03
1. 一個給定的運算式在不同的上下文中 其含義是不同的2. 在標量context中,nums返回他的元素個數,在列表context中,返回他的元素3. print @nums;將不會用空格分隔各元素,除非print "@nums";4. print nums;會直接將其作為列表,而不是標量5. 如果一個標量運算式使用在列表context中,將會把標量轉換為只有一個元素的列表來使用6. 將數組置空的正確方法 @nums = ();7. print
Time of Update: 2018-12-03
1. 寫好代碼, #chmod 755 檔案名稱,就可以直接運行2. 也可以調試, #perl -M 檔案名稱3. 轉移字元只在雙引號字串中起作用, 標量變數插入亦同4. 標量變數直接使用,以$開頭5. 字串串連使用 . 6. 在變數前使用/,變數不會被插入,"/$變數名"7. 使用{}將變數括起來,可以保證匹配8. 2**3,2的3次方 //真是太方便了9. 運算子左結合先算左邊,右結合就先算右邊
Time of Update: 2018-12-03
1. unless語句,if是條件為真時執行,unless是條件為假時執行2. 縮寫語句.&error("Invalid input”) unless &valid($input); $i *= 2 unitl $i > $j; print “” ,($n += 2) while $n <10; &greet($_) foreach @person;3. 裸塊(The Naked Block),這通常是為臨時變數提供範圍.4.
Time of Update: 2018-12-03
perl中的Regex 1. .是萬用字元,可以匹配任意的單字元,分行符號除外,如果要在模式中用到.,則使用/.即可2. *可以匹配前一項0次或任意多次,比如/ab*c/匹配 ac,abc,abbbbbc...3. +可以匹配前一項1次或任意多次,比如/ab+c/,匹配 abc,abbc,abbbbc...4. ?意思是前面一項出現1次或者不出現,比如/ab?c/,匹配abc,或者ac5.
Time of Update: 2018-12-03
1. die "Oops!A file named '$filename' already existed!" if -e $filename 使用-e選項,在系統建立檔案前檢測檔案是否已存在2. warn “Config file is looking pretty old! /n ” if -M CONFIG > 28; #CONFIG是一個檔案控制代碼
Time of Update: 2018-12-03
Regex的應用1. //只是m//的簡寫,/http://///不易閱讀,可以寫成 m{http://}或者m%http://%2. 正斜線不是元字元,如果它不是分隔字元,則不需在前面使用反斜線 3. /fred/i,表示無視大小寫,可以匹配fred,FRED,Fred,fRed等4. .不能匹配分行符號,但是加上s後,即能匹配所有字元,比如/f.*/s,匹配所有以f開頭的字串5. x允許模式中使用空格或者Tab來方便閱讀理解,也就是說,將忽略模式中的空格和定位字元,比如/
Time of Update: 2018-12-03
最近開始學習shell+sed+awk,偶然在LinuxSir.Org看到下面這篇網友評論文章,覺得有點意思,就摘抄到此,讓更多需要的人容易看到它!shell+sed+awk三者中功能最弱,沒有偵錯工具,大多數操作必須通過運行其他程式才能執行,所以需要更多時間、記憶體並在進程表中佔有位置。內建的算術運算很有限,數組下標必須是數字等。但它對運行環境要求低,小巧便捷,是學習系統指令碼編程的基礎。Perl設計之初就是為了方便編寫複雜高效的系統指令碼,它也是應該最為廣泛的指令碼程式設計語言。它在編程方面
Time of Update: 2018-12-03
前幾天寫一個perl的指令碼 在:?運算子上遇到了一個很詭異的問題$data->{$id}->{'total'} ? $data->{$id}->{'ratio'} = sprintf("%.2f%%", 100 * $data->{$id}->{'succ'} / $data->{$id}->{'total'}) : $data->{$id}->{'ratio'} = 'N/A';我的本意是 如果 $data->{
Time of Update: 2018-12-03
1、數組拼接函數:splice用於向列表或數組中插入元素或子列表,也可以從數組或列表中刪除元素或子列表,還可以替換數組或列表中的元素或子列表;其原形如下:@RetValue =
Time of Update: 2018-12-03
1、數組的長度: 如果把陣列變數賦值給標量變數,那麼賦給標量變數的就是數組的長度: $a = @Array;#標量變數$a中存放的是數組@Array的長度,即:數組中元素的個數; ($a,$b,$c) = (1,2,3); #則把1賦值給$a,把2賦值給$b,把3賦值給$c;