php和perl的區別

1.變數名的定義    Perl的一般變數、雜湊變數和陣列變數,分別用$、%和@開頭,而PHP的所有變數都以$開頭,這一點,似乎PHP更簡潔一些。而且,PHP的雜湊數組,本身已經是排過序的,Perl需要用Tie::IxHash才能得到排過序的雜湊數組。個人感覺PHP變數名的定義要好於Perl。2.函數的多寡   

在Perl中讀寫Excel表

Perl中讀寫Excel很方便,貼段代碼為以後參考。讀寫Excel的組件需要另外安裝,指令如下:   perl -MCPAN -e shell -> install Spreadsheet::WriteExcel    perl -MCPAN -e shell -> install Spreadsheet::ParseExcel #!/usr/bin/perluse Spreadsheet::WriteExcel; #寫入Excel資料use

使用Perl查詢手機號碼歸屬地

   有時候會接到“打後馬上就掛”的匿名電話,有時候沒注意,手機上面經常出現幾個“未接電話”,這時就想知道到底從哪個地方打來的,心裡有個底。一般都是通過ip138.com查詢的,查的次數多了,難免感覺太麻煩了,於是想到用Perl自己寫一個程式來查詢,當然原理還是遠程調用ip138.com的HTTP請求。指令碼如下(querymb.pl)#!/usr/bin/perluse strict;use Encode qw/encode decode/;use LWP::UserAgent;my

perl中XML:介面篇

 翻 譯:fayland 出 處:中國 Perl 協會 FPC - PerlChina.org 原 名:Perl XML Quickstart: The Perl XML Interfaces 中 文:中文名稱 作 者:Kip Hampton 原 文:http://www.xml.com/pub/a/2001/04/18/perlxmlqstart1.html 發 表:2001-04-18 Perlchina 提醒您:請保護作者的著作權,維護作者勞動的結晶。 目錄 [隱藏]

基數排序 Perl實現

#!/usr/bin/perl -wuse strict;use 5.010;sub getDigit($$){ # get digit from num my($num ,$flag) = @_; return $num/(10**$flag)%10;}sub radixSort($/@){ my ($size,$arr) = @_; my @sortArr; my $i;my $k; for(0..3){ my @count =

Perl檔案操作學習筆記

if (open(MYFILE, "E:\\Perl\\Code\\string.pl")) {   print("success open the file\n");#############################################output all of MYFILE's content 1############################################    print(<MYFILE>); print("=========1=

perl中my、local和our區別與聯絡

“our”,"把名字限於某個範圍“,其實就是明確聲明一個"全域變數",雖然是在某個模組或者函數裡面定義的,外面的也可以訪問,如果已經聲明過了,再次用"our",表示此處用的是全域的那個,不是同名的私人或者局部變數our $PROGRAM_NAME = "waiter";{my $PROGRAM_NAME = "something";our $PROGRAM_NAME = "server"; #這裡的our和外面的相同,和前句不同。# 這裡調用的代碼看到的是"server"}#

Perl 環境變數匯總

$- 當前頁可列印的行數,屬於Perl格式系統的一部分$! 根據上下文內容返回錯誤號碼或者錯誤串$” 清單分隔符號$# 列印數字時預設的數字輸出格式$$ Perl解譯器的進程ID$% 當前輸出通道的當前頁號$& 與上個格式匹配的字串$( 當前進程的組ID$) 當前進程的有效組ID$* 設定1表示處理多行格式.現在多以/s和/m修飾符取代之.$, 當前輸出欄位分隔符號$. 上次閱讀的檔案的當前輸入行號$/ 當前輸入記錄分隔字元,預設情況是新行$:

PERL 用EVAL 來捕捉異常Exception

$total=0;$count=0;eval { $average = $total / $count ; print "xxx/n";} ; if ($@){  print "wrong /n";}else{  print "right/n";} eval塊的結束時的分號是必須的,因為不像 if或者while那樣的控制結構,eval實際上是個函數。但是代碼塊是真的塊,所以可以包括詞法變數("my"

解決perl 調用system傳回值問題

測試指令碼如下: my $run_app_path = "c://exit_value.pl";my $ret_val = system( $run_app_path );print "system value is : $ret_val/n";$ret_val = $ret_val >> 8;print "return value is : $ret_val/n";exit 0;  其中,exit_value.pl 指令碼內容如下: use strict;use warnings;

Perl 檢測 MD5 安全可靠用法

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 -1 ;}          print "/n<<<<<<<<<<&

Perl 建立MD5

 讀文檔: http://search.cpan.org/~gaas/Digest-MD5-2.39/MD5.pm後, 非常有用章段:This is useful when calculating checksum for files: use Digest::MD5; my $file = shift || "/etc/passwd"; open(FILE, $file) or die "Can't open '$file': $!"; binmode(FILE);

在windows下面編譯運行perl程式

1.搭建perl運行環境,windows下面可以使用ActivePerl,安裝完之後請確認path裡面有perl的目錄,或者在控制台裡面敲perl -h 驗證環境時候搭建成功。2.編寫perl程式,簡單一個:#!/usr/bin/perluse strict;use warnings;my $status;### die this directory$status = system("dir > dirHere.log "  ) ;if ($status != 0){print "dir

用Perl來協助產生C++版“自動屬性”

用VS來使用C#的應該知道有個自動屬性,類似於public int MyProperty { get; set; }他幫你自動產生get/set方法,還幫你把這些方法綁定到該屬性上,很方便的說,但是C++的IDE裡沒有這個功能的,而且我們C++需要寫 _declspec(property(put=setJobID, get=getJobID)) unsigned long jobID; void setJobID(unsigned long

Regex處理html執行個體(Perl實現)

1.Html中Tag提取<("[^"]*"|'[^']*'|[^'">])*>2.提取<a></a>標籤中的url和連結文本while ($Html =~ m{a\b([^>]+)>(.*?)</a>}ig){my $Guts = $1;my $Link = $2;if ($Guts =~ m{\b HREF#href屬性\s* =

調試 Perl 指令碼

-- StartPerl 是一門非常鬆散的語言,在預設情況下,我們使用一個未定義的變數或把一個字串和一個數字進行數學運算它也不會報任何錯誤,所以當我們寫完一個 Perl 指令碼時,最好使用下列方式之一進行調試。#!/usr/bin/perl# 方法1 -- 修改沙邦,添加 -w 選項#!/usr/bin/perl -w# 方法2 -- 添加 warnings 編譯命令# use warnings;# 方法3 -- 添加 diagnostics 編譯命令顯示詳細資料#use

perl中一些特殊符號用法 z

$- 當前頁可列印的行數,屬於Perl格式系統的一部分 $! 根據上下文內容返回錯誤號碼或者錯誤串 $" 清單分隔符號 $# 列印數字時預設的數字輸出格式 $$ Perl解譯器的進程ID $% 當前輸出通道的當前頁號 $Content$amp; 與上個格式匹配的字串 $( 當前進程的組ID $) 當前進程的有效組ID $* 設定1表示處理多行格式.現在多以/s和/m修飾符取代之. $, 當前輸出欄位分隔符號 $. 上次閱讀的檔案的當前輸入行號 $/ 當前輸入記錄分隔字元,預設情況是新行 $:

perl中grep用法總結 z

一) Grep函數grep有2種表達方式:grep BLOCK LISTgrep EXPR, LISTBLOCK表示一個code塊,通常用{}表示;EXPR表示一個運算式,通常是Regex。原文說EXPR可是任何東西,包括一個或多個變數,操作符,文字,函數,或子函數調用。LIST是要匹配的列表。grep對列表裡的每個元素進行BLOCK或EXPR匹配,它遍曆列表,並臨時設定元素為$_。在列表上下文裡,grep返回匹配命中的所有元素,結果也是個列表。在標量上下文裡,grep返回匹配命中的元素個數。(

PERL函數splice的用法 z

轉自:http://blog.chinaunix.net/u/9861/showart_727153.htmlPERL函數splice的用法:splice有四種用法,分別是:1.spliceARRAY,OFFSET,LENGTH,LIST2.spliceARRAY,OFFSET,LENGTH3.spliceARRAY,OFFSET4.spliceARRAY 說明:移除在ARRAY中由OFFSET和LENGTH指定的元素,同時讓LIST中的元素代替移除的元素。在列表上下文,函數返回溢出後的數組元素

Perl精簡版netstat

寫作意圖:Linux系統內建的netstat在很多時候抓資訊會發現耗CPU很高,特別是在做一些監控系統的時候,發現如果使用了netstat,監控系統本身會造成系統負載比較高,因此試著用perl寫下,time測試比內建的netstat更快更節省資源,歡迎批評,呵呵。#!/usr/bin/perl# Written by FinalBSD at 2008-11-20.# The netstat original written by C# is expensive to me, so this

總頁數: 64 1 .... 44 45 46 47 48 .... 64 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.