Time of Update: 2017-02-27
"." 用來匹配任意一個字元的萬用字元,"\n"分行符號除外"*" 用來匹配前麵條目出現零次或多次"+" 用來匹配前麵條目出現一次以上"?" 用來匹配前麵條目出現一次或者不出現"()" 用來對字串分組,\1 或 \2 可以反向引用括弧裡的字串,相應的數字表示對應順序的擷取的群組,若要調用()中的擷取的群組,可用$1,$2依次捕獲,也可以用$+{LABEL}標籤形式捕獲01./(
Time of Update: 2017-01-18
一、數組應用複製代碼 代碼如下:#!/usr/bin env perl@zeng = `top -b -n 1`;foreach (@zeng) {print "$_\n";}二、say的用法:自動換行複製代碼 代碼如下:#!/user/bin env perluse 5.010; #表示使用perl 5.10的版本。say "Hello World!";my @fred = above_average(1..10);print "\@fred is @fred\n";print
Time of Update: 2017-01-18
在Linux或者Unix上操作(產生)Excel,CPAN上提供了Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel這兩個模組。 下面就來看看 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法。 首先,要在伺服器上安裝相應的模組。 安裝 Excel 模組的 PPM 命令 複製代碼 代碼如下: ppm> install OLE::Storage_Lite ppm>
Time of Update: 2017-01-18
window下讀取某個檔案,格式是:open (filehand,"路徑e.g:d:\\data.txt"); 然後將開啟的內容賦值給一個變數:$protein=<filehand>; 附:一個讀取蛋白質序列的程式。複製代碼 代碼如下:#!/bin/perlopen (PROTEINFILE,"f:\\perl\\data.txt")||die("can not open the file!"); $protein
Time of Update: 2017-01-18
1.Perl數組(1):1) 初始化數組 @array = ( "stringA" , "stringB" , "stringC" );2) 使用負索引迴圈檢索 print $array[-1]; #輸出索引為(-1 + 3) % 3 = 2 的 stringC3) 動態增長 $array[4] = "stringD"; #雖然$array[3]還沒有使用,但在動態賦值$array[4]的使用,已經對$array[3]賦空置4) 動態增長後的負索引 print $array[-1];
Time of Update: 2017-01-18
一 CGI.pm中的方法(routines)調用1. CGI.pm實現了兩種使用方法,分別是物件導向的方式和傳統的perlmodule方法的方式。物件導向的方式:複製代碼 代碼如下:#!/usr/local/bin/perl -wuse CGI; # load CGI routines$q = CGI->new;
Time of Update: 2017-01-18
1. 一次性將檔案中的所有內容讀入一個數組中(該方法適合小檔案): 複製代碼 代碼如下:open(FILE,"filename")||die"can not open the file: $!";@filelist=<FILE>;foreach $eachline (@filelist) { chomp $eachline;}close FILE;@filelist=<FILE>
Time of Update: 2017-01-18
1. 尋找已有的模組http://search.cpan.org/2. 輸入XML查詢,選擇評價較高的,且可以滿足自己需求的模組:XML::Simpleuse warnings;use XML::Simple;use Data::Dumper;#將XML檔案轉化為Hash結果複製代碼 代碼如下:my $xml=XMLin('abstract_sample.xml');open(HASH,'>>XML_hash')||die"can not open the file:
Time of Update: 2017-01-18
1. 一般使用:@nowtime=localtime();#($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();注意:$mon+1,$year+1900;$now_string = localtime; # e.g., "Thu Oct 13 04:54:34
Time of Update: 2017-01-18
1. Perl“膠水”,能夠將各種應用程式或者各種語言的代碼結合起來。Perl可以編寫普通的指令碼程式,還可以使用cgi模組編寫Web應用程式,同時可以使用DBI訪問各種資料庫。除此之外,Perl可以將各種層次的應用程式粘在一起,發揮更強大的功能。2.前台是一個網站Web應用程式,底層或者是後台是用C,C++或者Java編寫,使用Perl可以將兩者對接起來,實現更強大的功能,發揮各自的優勢。Perl實現該方法的途徑有兩個:1)
Time of Update: 2017-01-18
基本用法#初始化%h為空白數組 %h={};#用數組初始化%h為a=>1,b=>2 %h=('a',1,'b',2);#意義同上,只是另一種更形象化的寫法。%h=('a'=>1,'b'=>2);#如果key是字串,可以省略引號。下面這行和上面那行是一樣的%h=(a=>1,b=>2);#用{}來訪問print “$h{a}\n”;#列印 $h{b}='2b'; print “$h{b}\n”;
Time of Update: 2017-01-18
但是,linux系統的常用小工具awk天生對列操作友好,有時直接在perl中調用awk比寫相應的perl指令碼要方便有效多。比如用system插入awk語句:複製代碼 代碼如下:system(gawk '{print $1}' $filename);執行該l語句,你會發現這行會報錯,提示你使用了read-only 的變數$1。那麼,如何處理兩種生態系統下的衝突呢?有一個簡單的解決辦法: 複製代碼 代碼如下:my $i="$1";system(gawk '{print $i}'
Time of Update: 2017-01-18
1、單行(大檔案處理):複製代碼 代碼如下:my $oneline = <$FL> 或while($line=<H>){ }2、讀取全部(小檔案處理): 複製代碼 代碼如下:open (my $in, "path ") or die "open error: $! "; my @lines = <$in> ;3、讀3行(大檔案及特殊處理需要): 複製代碼 代碼如下:open (my $in, "path ") or die "open error: $! ";
Time of Update: 2017-01-18
從而使得有些字元(尤其是寬字元)無法正確地顯示,即不再是utf-8格式了。解決辦法:開啟輸出檔案時即指定編碼格式,就不會出現輸出檔案開啟以後亂碼的情況了。普通的預設open輸出檔案:複製代碼 代碼如下:open(OUTPUT,'>>output.txt')||die"can not open the file: $!";定義指定編碼格式檔案(或者成為使用Perl建立一個指定編碼格式的檔案):複製代碼 代碼如下:open OUTPUT, ">:encoding(utf-8)",
Time of Update: 2017-01-18
來看看下面的代碼會輸出什嗎?複製代碼 代碼如下:my $a = 0;$a = $a or 1;print $a, "\n";$a = $a || 1;print $a, "\n";輸出:01為什麼呢?因為||, =, or 這三者優先順序從左至右逐漸降低。所以,這樣寫可以:chomp(my $filename = shift( @ARGV ) || <STDIN>);這樣則不行:chomp(my $filename = shift( @ARGV ) or <STDIN>)
Time of Update: 2017-01-18
用Open() 函數開啟檔案開啟檔案的常用方法是:複製代碼 代碼如下:open(FH, "< $filename") or die "Couldn't open $filename for reading: $!"; open()
Time of Update: 2017-01-18
在shell下提到終端的顏色的時候不得不提到幾個提示符變數:PS1:預設提示符,也就是遠程登上系統之後,開啟終端,我們天天見到的那個熟悉的提示符;[root@vps ~]$echo $PS1[\u@\h \W]$PS2:就是我們命令一行寫不完在我們命令列下我們打上”\”,另起一行所顯示的那個;[root@vps ~]$echo “hello” \> “world”hello world[root@vps ~]$echo $PS1[\u@\h
Time of Update: 2017-01-19
首先來看看 POSIX 風格Regex的兩個主要函數: ereg 函數:(Regex匹配) 格式:int ereg ( string pattern, string string [, array ®s] ) 注意:使用 Perl 相容Regex文法的 preg_match() 函數通常是比 ereg() 更快的替代方案。(一般的話還是使用 preg_match() ,比較好勒~~) 以區分大小寫方式在 string 中尋找與給定的Regex pattern 所匹配的子串。如果找到與
Time of Update: 2017-01-19
一、簡短總結:pear:一個書寫的比較規範,國外較流行的工具箱代碼集pecl:php擴充包,但不屬於php基本擴充範圍perl:一種早於php出現的指令碼級語言,php借鑒了他的Regex部分二、Pear、Pecl都是PHP擴充模組的集合。是擴充PHP的兩種方法:A.一種是用純粹的PHP代碼寫函數和類。Pear就是這樣一個項目。PEAR是PHP的官方開源類庫(PHP Extension and Application
Time of Update: 2017-01-19
perl substr()函數例子,substr()函數執行個體代碼 - 返回EXPR的子字串,起始是為字串內的位移量OFFSET。文法:substr EXPR, OFFSET, LEN, REPLACEMENTsubstr EXPR, OFFSET, LENsubstr EXPR,