Time of Update: 2017-01-18
先來看下our的用法。require 5.006當版本號碼小於 5.006 的時候,會返回失敗,從而導致模組載入失敗。所以它的作用就是保證模組調用環境的 Perl 版本。our 和 my 一樣,都是對變數的聲明,不過 our 聲明的是包全域變數,而 my 聲明的是詞法變數。不過,經過 our 聲明的變數,它會變得像一個詞法變數一樣,其實這也是 our 存在的目的:用來欺騙 strict pragma,使 strict 以為它是一個詞法變數,其實卻不是。有一個簡單的辦法可以理解
Time of Update: 2017-01-18
Perl利用函數rand()和srand()為隨機數(更確切的說是"偽隨機數")字串的產生提供了基本的工具。這些函數不是利用加密來提供安 全性的,所以不要利用它們為你金融資訊的加密。但是,如果你需要為你的下一個遊戲或者動態Web網站的新特性設計一個簡單的隨機數產生器,那麼 rand()和srand()可能就是你所需要的。函數rand()是真正的隨機數產生器,而srand()會設定供rand()使用的隨機數種子。函數rand()會返回一個處於0和你所指定的數
Time of Update: 2017-01-18
一、Regex特殊變數1、$n :包含上次模式比對的第n個子串2、$& :前一次成功模式比對的字串3、$` :前次匹配成功的子串之前的內容4、$'
Time of Update: 2017-01-18
1、time函數:返回從1970年1月1日起累計的秒數 使用:my $t=time(); 2、 localtime函數:擷取本地時區時間 使用:my $t=localtime(time()); 3、gmtime函數: 擷取格林威治時間 使用:my $t=gmtime(time()); 得到格式化時間(以localtime函數為例): my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time());
Time of Update: 2017-01-18
這裡為大家舉二個小例子,供朋友們學習參考。對任何的函數記錄函數啟動並執行時間。複製代碼 代碼如下:#!/usr/bin/perluse warnings;use strict;no strict "refs";sub testLogToStd{print "Test stdout : \n";open LOG,"> 2.txt";select LOG;print "just a test\n";#recover STDOUTselect STDOUT;print "just a test2
Time of Update: 2017-01-18
例1:複製代碼 代碼如下:#!/usr/bin/perluse strict; use warnings;my $test = "asdf";print "${test}_test2\n";#constantuse constant { AAA => "aaa", BBB=> "bbb", MIN_TOTAL => 12, SCORE_
Time of Update: 2017-01-18
操作csv這樣的表格在perl處理檔案中是經常要碰到的。這樣的表類似二維數組,因此實際上的操作時對二維數組的操作了。對這樣的行列表格,我們常常需要按照某列,或者先按照某列,再按另一列進行排序,這裡貼上perl的實現,以便下次使用尋找。看下面這段代碼。複製代碼 代碼如下:#!/usr/bin/perlmy @line;while(<>){chomp;push @line, [ split ];}foreach ( sort { $a->[0] <=> $b->[
Time of Update: 2017-01-18
perl數組中正常的下標運算,想必大家都比較熟悉,這裡不作說明。本文想說的是perl數組下標的多數字取值,可以極大的方便數組的操作。注意:這些數字是從0 到 $#array的。子數組複製代碼 代碼如下:@array = (1, 2, 3, 4, 5);@subarray = @array[0,1]; # @subarray = (1, 2)@subarray2 = @array[1..3]; # @subarray2 = (2,3,4)@array[0,1] = ("string", 46);
Time of Update: 2017-01-18
本文和大家重點討論一下Perl split函數的用法,Perl中的一個非常有用的函數是Perl split函數-把字串進行分割並把分割後的結果放入數組中。這個Perl split函數使用規則運算式(RE),如果未特定則工作在$_變數上。Perl split函數Perl中的一個非常有用的函數是Perl split函數-把字串進行分割並把分割後的結果放入數組中。這個Perl split函數使用規則運算式(RE),如果未特定則工作在$_變數上。Perl
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/usr/bin/perlopen( READ, "<$file" );readline READ; # skip the first linewhile (<READ>) {my ( $id, $axis1, $axis2, $axis3, $value ) = split / /;$line = sprintf ( "%d %d %d %d %d %d",$id, $axis1, $axis2, $axis3, $value, $axis1 +
Time of Update: 2017-01-18
該模組用perl的數組代表一個檔案,檔案的每一行對應數組的一個元素,第一行為元素0,第二回為1,... 檔案本身實際並不載入到記憶體,對數組元素的操作立刻作用到檔案裡。最大的方便是可以任意指定處理開頭結尾的某幾行。基本用法:複製代碼 代碼如下:use Tie::File;tie @array, 'Tie::File', filename or die ...;$array[13] = 'blah'; # line 13 of the file is now 'blah'print $
Time of Update: 2017-01-18
1. 語句塊:{ }之間的部分即為BLOCK語句塊。2. 條件陳述式:if ( expression ) BLOCK;if ( expression ) BLOCK1else BLOCK2;if ( expression1 ) BLOCK1;elsif ( expression2 ) BLOCK2;else
Time of Update: 2017-01-18
1.Perl將一般的變數成為標量,該變數可以指代的直接量包括兩種:數字直接量;字串直接量。a) 字串的表示方法:單引號,單引號中的字串中的含義直觀,不需要求變數值和逸出字元;雙引號,需要求變數值和逸出字元值。如果需要消除,通常需要在前面添加反斜線,其中的單引號或雙引號也需要。b) 此外,可以使用qq或q分別代替雙引號或單引號,界限符可以用成對的(), <>, {}, []等。2.
Time of Update: 2017-01-18
1、linux系統一般內建perl可運行程式在:/usr/bin/perl2、perl測試程式複製代碼 代碼如下:#!/usr/bin/perl -wuse warnings;print "Hello, Perl works! ";命名為test.pl在終端下,定位到該目錄,輸入perl test.pl,perl正常工作的話,會顯示輸出Hello, Perl works!3、讓apache2以cgi方式支援perla.
Time of Update: 2017-01-18
1. do:1)形式:do 'filename';說明:這裡filename需要添加單引號,否則會出錯;filename可以為任何尾碼的,甚至沒有尾碼,不要求是pl或者pm等。2)關於do的理解:do
Time of Update: 2017-01-18
刪除檔案使用unlinke函數,比如unlink $file, unlink $file1, $file2, $file3開啟檔案使用三參數的形式開啟檔案,這樣非常便於區分模式和檔案名稱,perl 5.6之後的版本都支援這種方式。複製代碼 代碼如下:#Open the 'txt' file for readingopen FH, '<', "$file_name.txt" or die "Error:$!\n";#Open the 'txt' file for writing.
Time of Update: 2017-01-18
在使用 Gearman 做分散式處理時,各機需要註冊一個獨立的 job 作為資訊反饋,為求方便,Gearman::Worker 指令碼 register_function 代碼又要通用,於是想到了使用各自的 ip 地址作為 job 命名。那麼怎麼在 worker 指令碼裡擷取本機 ip 作為 func 呢?第一種辦法,最簡單的,調用 shell:複製代碼 代碼如下:$ip = `ifconfig eth0|grep -oE '([0-9]{1,3}\.?){4}'|head -n 1`;
Time of Update: 2017-01-19
經常會遇到下載的檔案或電子書,名字中間都包含了一些網址資訊,實際使用中由於名字太長不方便,下面的指令碼使用Regex來對目錄下的所有檔案重新命名:例如:修改前:[雲棲社區]Mac OS X for Unix Geeks[www.jb51.net].mobi修改後:Mac OS X for Unix Geeks.mobipython代碼如下:複製代碼 代碼如下:import osimport redef rename_dir(dir,regex,f): if not
Time of Update: 2017-01-19
Regex(Regular Expression,縮寫為regexp,regex或regxp),又稱正規運算式、正規表示式或常規運算式或正規化標記法或正規標記法,是指一個用 來描述或者匹配一系列符合某個句法規則的字串的單個字串。在很多文字編輯器或其他工具裡,Regex通常被用來檢索和/或替換那些符合某個模式的文本 內容。許多程式設計語言都支援利用Regex進行字串操作。例如,在Perl中就內建了一個功能強大的在Regex引擎。Regex這個概念最初是由
Time of Update: 2017-01-19
複製代碼 代碼如下:APR_DECLARE_NONSTD(unsigned int) apr_hashfunc_default(const char