當前位置:編程學習大全網 - 編程語言 - Lispsocket編程

Lispsocket編程

Perl語言

Perl是壹種腳本語言。最初由拉裏·沃爾設計,出版於1987 12+08。Perl借用了C、sed、awk、shell腳本和許多其他編程語言的特性。最重要的壹個特點是,它集成了正則表達式的功能和壹個龐大的第三方代碼庫CPAN。

編程範例:多範例

上市時間:1987

設計師:拉裏·沃爾

最新發布日期:2006年8月5日1.3。

類型系統:動態

啟發式語言:AWK,BASIC,BASIC-PLUS,C語言,C++,Lisp,Pascal,sed,Unix shell。

有影響力的語言:Python,PHP,Ruby,ECMAScript。

操作系統:跨平臺

許可證:GNU通用公共許可證,藝術許可證。

網站:www.Perl.org

Perl最初被命名為pearl,但是在這種語言正式出版之前,拉裏·沃爾發現已經有壹種編程語言“pearl”,於是他將這種編程語言的名字改為Perl。對於Perl這四個字母有壹些解釋,包括幽默的“可悲的選擇性胡說八道者”。“實用提取和報告語言”出現在很多關於Perl的資料中,包括官方主頁。但其實這個長名字是後來杜撰出來的。當其名稱的第壹個大寫字母是perl時,指的是這種編程語言,沒有大寫字母(Perl)時,指的是它的文字翻譯器。把Perl寫成“PERL”是不合適的,因為它不是縮寫。

為了實現這個目標,並且因為拉裏·沃爾本人是壹名語言學家,他在設計Perl語言時使用了大量的語言學思想。與C、Pascal等“高級”語言相比,Perl直接提供了泛型變量、動態數組、哈希表等更方便的編程元素。Perl具有動態語言強大靈活的特點,還借鑒了C/C++、Basic、Pascal等語言的語法規則,從而提供了很多冗余的語法。以至於程序員可以忽略內部數據存儲、類型、處理方法、操作規則,甚至內存溢出等細節,而專註於所需的程序邏輯。對此,很多Perl程序員認為只有Perl、Python等泛型語言才能稱為“高級”語言,而C、Pascal甚至C++只能稱為“中級和高級”語言。可以說Perl在統壹變量類型和掩蓋操作細節方面比Python更勝壹籌。

由於借用了大量其他語言的語法,從其他編程語言切換到Perl語言的程序員可以快速編寫程序並完成任務,這使得Perl語言成為壹種易於使用的語言。但問題是,這樣寫出來的Perl程序對於不熟悉這種語言的程序員來說就像天書壹樣,使得Perl語言易寫難讀。

Perl是壹種通用語言。換句話說,在語言層面,Perl不同於大多數編程語言。它不會將變量分為整數、字符、浮點數等。,但是只有壹個“通用”變量可以接受各種類型的數據。Perl變量以$字符開始。比如$ a = 5;$b= "妳好";$ c = 3.2是合法的Perl語句。

Perl中各種變量的操作也很自由,數字和包含數字的字符串是等價的。可以用數字參與數學計算,反之亦然,讓數字參與字符串的構成和運算。

除了單個變量(Perl稱為標量),Perl還有兩種集合類型,即數組(以@字符開頭)和關聯數組(或散列,以%開頭)。類似C++ STL圖和Python字典)。壹個數組可以包含任意數量的變量。而哈希表則可以在變量之間建立壹對壹的映射,就像字典壹樣,可以將不同的變量按照邏輯關系組織起來。

Perl的語法極其豐富和靈活,因為它創建了許多冗余的語法,並大量借鑒了其他語言。Perl***有以下判斷語句:

Perl提供了大量可以直接調用的函數。您可以對以下對象進行操作:

*數組:chomp、join、keys、map、pop、push、reverse、shift、sort、split、split、unshaft、values。

*數據庫:dbmclose、dbmopen

*目錄:chdir、closedir、mkdir、opendir、readdir、rewinddir、rmdir、seekdir、telldir。

*文件:binmode、chdir、chmod、chown、chroot、close、EOF、fnctl、fileno、flock、getc、glob、ioctl、link、lstat、open、

print,printf,read,readdir,readlink,rename,rmdir,seek,select,stat,symlink,sysopen,sysread,syswrite,tell,

截斷、umask、取消鏈接、使用時間、寫入

*組:endgrent,getgrent,getgrgid,getgrnam e,getpgrp,setgrent,setpgrp。

*哈希表(Hash;哈希表):delete,each,exists,key,values。

* host: end host,gethostbyaddr,gethostbyname,sethost。

*輸入:getc,read,sysread。

*處理器之間的通信:msgctl、msgget、msgrcv、msgsnd、pipe、semctl、semget、semop、shmctl、shmget、shmread、shmwrite。

*數學:ABS,ATAN2,COS,EXP,hex,INT,LOG,OCT,RAND,SIN,SQRT,SRAND。

*消息隊列:msgctl、msgget、msgrcv、msgsnd。

*其他:bliss、defined、do、eval、formline、import、ref、scalar、syscall、tie、tied、undef、undef、wantarray。

*網絡:endnetent,getnetbyaddr,getnetbyname,getnetent,setnetent。

*輸出:die、print、printf、syswrite、warn、write。

*密碼:endpwent,getpwent,getpwnam e,getpwuid,setpwent。

*進程:alarm、die、dump、exec、exit、fork、getlogin、getpgrp、getppid、getpriority、kill、set priority、sleep、system、

時間,umask,等等,waitpid

*協議:endprotent,getprotobyname,getprotobynumber,getprotoent,getservbyname,getservbyport,getservent,setprotoent。

*正則表達式:grep,POS,quote meta,reset,split,study。

*範圍:呼叫者、本地、我的

*服務:end server,getservbyname,getservbyport,getserver,setserver。

*單詞集:accept,bind,connect,gethostbyaddr,gethostbyname,gethost,getpeername,getservbyname,getservbyport,

getservent,getsockname,getsockopt,listen,recv,select,send,setsockopt,shutdown,socket,socketpair

* string: chop,chr,crypt,hex,index,join,LC,lcfirst,length,oct,ord,pack,q,QQ,quote meta,qw,qx,reverse,

rindex,split,sprintf,substr,uc,ucfirst,unpack,vec

*時間:gmtime,localtime,time

* UNIX: chmod、chown、chroot、dump、endgrent、endhostent、endnetent、endprotent、endpwent、endservent、fnctl、fork、

getgrent,getgrgid,getgrname,gethostent,getlogin,getnetent,getpgrp,getppid,getpriority,getprotobyname,

getprotobynumber,getprotoent,getpwent,getpwname,getpwuid,getservbyname,getservbyport,getservent,ioctl,link,

lstat,readlink,select,setgrent,sethostent,setnetent,setpgrp,setpriority,setprotoent,setpwent,setservent,

睡眠、系統調用、時間、umask、等待、waitpid

  • 上一篇:黑色火山BOSS怎麽打
  • 下一篇:匯編語言的發展前景
  • copyright 2024編程學習大全網