網(wǎng)頁(yè)設(shè)計(jì)與制作報(bào)告書(shū)_第1頁(yè)
網(wǎng)頁(yè)設(shè)計(jì)與制作報(bào)告書(shū)_第2頁(yè)
網(wǎng)頁(yè)設(shè)計(jì)與制作報(bào)告書(shū)_第3頁(yè)
網(wǎng)頁(yè)設(shè)計(jì)與制作報(bào)告書(shū)_第4頁(yè)
網(wǎng)頁(yè)設(shè)計(jì)與制作報(bào)告書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電子商務(wù)2班201341440213孫巖 網(wǎng)頁(yè)設(shè)計(jì)與制作報(bào)告書(shū) 課程名稱(chēng):網(wǎng)頁(yè)設(shè)計(jì)與制作 專(zhuān)業(yè)班級(jí):電子商務(wù)2班學(xué) 號(hào):201341440213 姓 名:孫巖 指導(dǎo)教師:王康哲 目錄一概要 3二網(wǎng)站開(kāi)發(fā) 3三應(yīng)用工具方案 5四欄目劃分 6五代碼表. 7六截圖 13七結(jié)論 14摘要:在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見(jiàn),它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。一、網(wǎng)頁(yè)制作開(kāi)發(fā)背景Dreamweaver以其功能強(qiáng)大、容

2、易上手、界面親切而著稱(chēng)。它采用所見(jiàn)即所得的方式編輯網(wǎng)頁(yè),利用它可以輕松的組織、編輯網(wǎng)頁(yè)并將其發(fā)布到指定的站點(diǎn)上,而且在發(fā)布之后還能對(duì)更新情況進(jìn)行監(jiān)控以更新站點(diǎn)的內(nèi)容?,F(xiàn)在流行的網(wǎng)頁(yè)制作軟件有很多,如Macromedia公司的Dreamweaver、微軟公司的Dreamweaver、還有Adobe Pagemill 3.0-制作多框架,表單和Image map 圖像的網(wǎng)頁(yè)工具、Netscape等等。其中Dreamweaver更以其功能強(qiáng)大、容易上手、界面親切而著稱(chēng)。它采用所見(jiàn)即所得的方式編輯網(wǎng)頁(yè),利用它可以輕松的組織、編輯網(wǎng)頁(yè)并將其發(fā)布到指定的站點(diǎn)上,而且在發(fā)布之后還能對(duì)更新情況進(jìn)行監(jiān)控以更新站

3、點(diǎn)的內(nèi)容。工具準(zhǔn)備好了,可根據(jù)你的個(gè)人喜好來(lái)選擇一些素材,如圖片、喜歡的文章等。二、網(wǎng)頁(yè)制作設(shè)計(jì)技巧首先,我們來(lái)看一下創(chuàng)建一個(gè)只包含一個(gè)網(wǎng)頁(yè)的站點(diǎn)。 選擇“文件”菜單的“新建”選項(xiàng),單擊“站點(diǎn)”命令,這時(shí)新建站點(diǎn)對(duì)話(huà)框就彈出來(lái)了,在“指定新站點(diǎn)位置”文本框中輸入新站點(diǎn)的位置,單擊“只有一個(gè)網(wǎng)頁(yè)的站點(diǎn)” 圖標(biāo),單擊“確定”按鈕。這就建立好站點(diǎn)了,我們現(xiàn)在來(lái)看一下新的站點(diǎn)里有什么,單擊“視圖”工具條的“文件夾”按鈕。 在文件夾列表里有一個(gè)網(wǎng)頁(yè)文件,名字叫做“index.htm”。我們知道,每一個(gè)站點(diǎn)都要有一個(gè)主頁(yè),這個(gè)主頁(yè)也是一個(gè)網(wǎng)頁(yè)文件。瀏覽者訪(fǎng)問(wèn)站點(diǎn)時(shí)首先進(jìn)入的就是站點(diǎn)的主頁(yè)。主頁(yè)的名字在一般

4、情況下就叫做“index.htm”。就是說(shuō)我們新建只包含一個(gè)網(wǎng)頁(yè)的站點(diǎn)時(shí),DREAMWEAVER就自動(dòng)為我們創(chuàng)建了站點(diǎn)的主頁(yè)了。這個(gè)新建的站點(diǎn)主頁(yè)時(shí)空的,我們可以向里面添加內(nèi)容。在文件列表里除了主頁(yè)之外,還有文件夾。新建站點(diǎn)時(shí),DREAMWEAVER都會(huì)在站點(diǎn)所在位置下新建兩個(gè)文件夾,一個(gè)是“images”另一個(gè)是“_private”。我們?cè)诰庉嬚军c(diǎn)時(shí)可以在“image”文件夾里放置站點(diǎn)用到的圖片。 “private”文件夾比較特殊,其中的文件對(duì)瀏覽者來(lái)說(shuō)是隱含的,我們可以把一些不想讓瀏覽者看到的網(wǎng)頁(yè)文件放在這個(gè)文件夾里,比如:我們可以在這個(gè)文件夾里存放注冊(cè)用戶(hù)的個(gè)人信息。盡管每一個(gè)站點(diǎn)都要有

5、一個(gè)主頁(yè),不過(guò)創(chuàng)建站點(diǎn)時(shí)我們?nèi)匀豢梢詮囊粋€(gè)空站點(diǎn)開(kāi)始:選擇“文件”菜單的“新建”命令,單擊“站點(diǎn)”選項(xiàng),在“新建站點(diǎn)”對(duì)話(huà)框里,我們可以選擇“空站點(diǎn)”圖標(biāo)來(lái)創(chuàng)建一個(gè)空站點(diǎn)?!靶陆ㄕ军c(diǎn)”對(duì)話(huà)框中還有許多其他圖標(biāo),這是DREAMWEAVER提供的用來(lái)創(chuàng)建站點(diǎn)模板或向?qū)?。我們?chuàng)建只有一個(gè)網(wǎng)頁(yè)的站點(diǎn)或者創(chuàng)建空站點(diǎn),都是從頭開(kāi)始來(lái)創(chuàng)建一個(gè)站點(diǎn),這就好像蓋房子一樣,首先畫(huà)圖紙。然而,有許多的房子都具有相似的結(jié)構(gòu)和用途,所以我們可以用一張圖紙蓋很多相似的房子,這樣就節(jié)省了許多工作?;诒砀竦脑O(shè)計(jì):表格布局使網(wǎng)頁(yè)設(shè)計(jì)師制作網(wǎng)站時(shí)有了更多選擇。在 HTML 中表格標(biāo)簽的本意是為了顯示表格化的數(shù)據(jù),但是設(shè)計(jì)師很快

6、意識(shí)到可以利用表格來(lái)構(gòu)造他們?cè)O(shè)計(jì)的網(wǎng)頁(yè),這樣就可以制作較以往作品更加復(fù)雜的,多欄目的網(wǎng)頁(yè)。表格布局就這樣流行了起來(lái),融合了背景圖片切片技術(shù),常給人以看起來(lái)較實(shí)際布局簡(jiǎn)潔得多的結(jié)構(gòu)。結(jié)構(gòu)設(shè)計(jì):這個(gè)時(shí)期的網(wǎng)頁(yè)設(shè)計(jì)還不太關(guān)注語(yǔ)義化和可用性方面的問(wèn)題,主要還在追求良好的結(jié)構(gòu)美學(xué)。同一時(shí)期也是大量應(yīng)用 GIF 占位圖片控制留白的時(shí)期。一些主流的公司甚至訓(xùn)練設(shè)計(jì)師如何使用 GIF 占位;如微軟的“關(guān)于 HTML 表格中的 GIF 占位”。第一批主要應(yīng)用表格布局的“所見(jiàn)即所得”網(wǎng)頁(yè)設(shè)計(jì)軟件的發(fā)展助長(zhǎng)了表格的應(yīng)用。另外,某些軟件自動(dòng)生成的表格如此復(fù)雜以至于許多設(shè)計(jì)師不可能從頭手寫(xiě)代碼(例如每行只有 1px 高

7、卻包含了幾百列的表格)。即使是稍微復(fù)雜一點(diǎn)兒的網(wǎng)頁(yè)(比如多欄目頁(yè)面),設(shè)計(jì)師們都要依賴(lài)于表格來(lái)創(chuàng)建。三、網(wǎng)站結(jié)構(gòu)網(wǎng)站結(jié)構(gòu)是指網(wǎng)站中頁(yè)面間的層次關(guān)系;按性質(zhì)可分為邏輯結(jié)構(gòu)及物理結(jié)構(gòu)。網(wǎng)站結(jié)構(gòu)對(duì)網(wǎng)站的搜索引擎友好性及用戶(hù)體驗(yàn)有著非常重要的影響。 (一)網(wǎng)站結(jié)構(gòu)整體先用DIV和CSS來(lái)進(jìn)行構(gòu)造,對(duì)整個(gè)網(wǎng)站進(jìn)行布局, (二)網(wǎng)站結(jié)構(gòu)是衡量網(wǎng)站用戶(hù)體驗(yàn)好壞的重要指標(biāo)之一。清晰的網(wǎng)站結(jié)構(gòu)可以幫助用戶(hù)快速獲取所需信息;相反,如果一個(gè)網(wǎng)站的結(jié)構(gòu)極其糟糕的話(huà),用戶(hù)在訪(fǎng)問(wèn)時(shí)就猶如走進(jìn)了一座迷宮,最后只會(huì)選擇放棄瀏覽。 (三)網(wǎng)站結(jié)構(gòu)還直接影響搜索引擎對(duì)頁(yè)面的收錄,一個(gè)合理的網(wǎng)站結(jié)構(gòu)可以引導(dǎo)搜索引擎從中抓取更多有價(jià)

8、值的頁(yè)面。 網(wǎng)站結(jié)構(gòu)對(duì)網(wǎng)站及網(wǎng)站中頁(yè)面的影響。搜索引擎對(duì)重要頁(yè)面的抓取 由于互聯(lián)網(wǎng)中信息量極其龐大,為了向用戶(hù)展示更多有價(jià)值的信息,搜索引擎會(huì)優(yōu)先抓取每個(gè)網(wǎng)站中相對(duì)重要的頁(yè)面(即權(quán)重較高的頁(yè)面),然而,搜索引擎是怎樣發(fā)現(xiàn)這些重要頁(yè)面的呢?根據(jù)重要頁(yè)面的鏈接指向的頁(yè)面可能是重要頁(yè)面的思路;搜索引擎首先會(huì)從權(quán)重相對(duì)較高的頁(yè)面(即源頁(yè)面)出發(fā)跟蹤其中的鏈接,從而抓取其他相對(duì)重要的頁(yè)面(即目標(biāo)頁(yè)面)。網(wǎng)頁(yè)設(shè)計(jì)的要素四、應(yīng)用工具方案DreamWeaver自制動(dòng)態(tài)HTML動(dòng)畫(huà)的網(wǎng)頁(yè)。DreamWeaver是一個(gè)很酷的網(wǎng)頁(yè)設(shè)計(jì)軟件,它包括可視化編輯、HTML代碼編輯的軟件包,并支持ActiveX、JavaS

9、cript、Java、Flash、ShockWave等特性,而且它還能通過(guò)拖拽從頭到尾制作動(dòng)態(tài)的HTML動(dòng)畫(huà),支持動(dòng)態(tài)HTML(Dynamic HTML)的設(shè)計(jì),使得頁(yè)面沒(méi)有plug-in也能夠在Netscape和IE 4.0瀏覽器中正確地顯示頁(yè)面的動(dòng)畫(huà)。同時(shí)它還提供了自動(dòng)更新頁(yè)面信息的功能。DreamWeaver還采用了Roundtrip HTML技術(shù)。這項(xiàng)技術(shù)使得網(wǎng)頁(yè)在DreamWeaver和HTML代碼編輯器之間進(jìn)行自由轉(zhuǎn)換,HTML句法及結(jié)構(gòu)不變。這樣,專(zhuān)業(yè)設(shè)計(jì)者可以在不改變?cè)芯庉嬃?xí)慣的同時(shí),充分享受到可視化編輯帶來(lái)的益處。DreamWeaver最具挑戰(zhàn)性和生命力的是它的開(kāi)放式設(shè)計(jì),

10、這項(xiàng)設(shè)計(jì)使任何人都可以輕易擴(kuò)展它的功能。版面布局:在你開(kāi)始設(shè)計(jì)之前,你必須仔細(xì)地為站點(diǎn)挑選色彩組合。千萬(wàn)不要出現(xiàn)紫色的背景加上黑藍(lán)色的文字的組合。要使整個(gè)站點(diǎn)保持同一種色彩組合,因?yàn)椴煌伾M合的背景或字體可能會(huì)是非常令人討厭的。你也可以選用一個(gè)背景圖,而不是僅用一種顏色。背景圖案可以自己繪制,也可以從因特網(wǎng)上下載。通過(guò)模糊背景圖案,就可以使文字更容易被閱讀。要記住的是,圖片不會(huì)被瀏覽器重畫(huà)的,而背景色彩則是要被重新畫(huà)的,因此,在上傳你的圖片之前,必須檢查不同的瀏覽器是如何顯示這些網(wǎng)頁(yè)的。當(dāng)增加文字時(shí),盡量設(shè)置容易被閱讀的字體和大小。如果你使用背景圖片,那么,當(dāng)網(wǎng)頁(yè)被瀏覽時(shí),背景色和字體將會(huì)先

11、于背景圖片被下載,因此,如果背景色和文本的顏色沒(méi)有鮮明的對(duì)照的話(huà),那么瀏覽者會(huì)有幾秒鐘的時(shí)間看到一個(gè)充滿(mǎn)了不可閱讀的文本的網(wǎng)頁(yè)。解決這個(gè)問(wèn)題的簡(jiǎn)單的方法就是,使背景色與背景圖的顏色相類(lèi)似。瀏覽導(dǎo)航:站點(diǎn)的瀏覽導(dǎo)航必須被設(shè)計(jì)成非常容易。如果需要,把站點(diǎn)分割為幾個(gè)部分。最容易的方法,就是在整個(gè)網(wǎng)站的所有的網(wǎng)頁(yè)的左邊放置一個(gè)菜單條。當(dāng)然,除此以外,還有許多可選的方法。對(duì)于具有大量信息的站點(diǎn),使用一個(gè)可擴(kuò)展的菜單條會(huì)是一個(gè)不錯(cuò)的選擇。無(wú)論你使用何種導(dǎo)航模式,在每一頁(yè)都放置一個(gè)主頁(yè)鏈接,那會(huì)是一種不錯(cuò)的設(shè)計(jì)思想;瀏覽者必須知道,無(wú)論何時(shí),當(dāng)他們迷失在你的站點(diǎn)瀏覽中時(shí),都可以通過(guò)簡(jiǎn)單的一次點(diǎn)擊就能準(zhǔn)確地知

12、道目前所處的位置。Frame(幀,框架)的問(wèn)題:Frame 你也許會(huì)喜歡它,也許不喜歡。如果你在你的網(wǎng)站上使用幀,你很可能使一個(gè)幀用于導(dǎo)航目的,另一個(gè)幀用于放置內(nèi)容。你可以看見(jiàn)在同一頁(yè)上有兩個(gè)被分割的瀏覽窗口,你點(diǎn)擊左邊的幀,只會(huì)改變右邊的內(nèi)容。用幀來(lái)組織網(wǎng)站的內(nèi)容,顯然是非常容易的。檢驗(yàn)?zāi)愕腍TML代碼 :不要在你的網(wǎng)站上放置瀏覽計(jì)數(shù)器。計(jì)數(shù)器會(huì)讓你的網(wǎng)站看起來(lái)不夠?qū)I(yè)化,如果瀏覽量不夠的話(huà),還會(huì)起到相反的宣傳作用。最后,內(nèi)容是金,如果能給的瀏覽者一些有價(jià)值的東西,如,信息,建議,或軟件,那么就能吸引瀏覽者經(jīng)常光顧你的網(wǎng)站。為你的站點(diǎn)增加消息板和聊天室,從而提高網(wǎng)站的交互性,使你和你的訪(fǎng)問(wèn)者

13、交流,讓訪(fǎng)問(wèn)者彼此交流。 五、頻道欄目劃分 圖1六、代碼段火影忍者function MM_CheckFlashVersion(reqVerStr,msg) with(navigator) var isIE = (appVersion.indexOf(MSIE) != -1 & userAgent.indexOf(Opera) = -1); var isWin = (appVersion.toLowerCase().indexOf(win) != -1); if (!isIE | !isWin) var flashVer = -1; if (plugins & plugins.length 0)

14、 var desc = pluginsShockwave Flash ? pluginsShockwave Flash.description : ; desc = pluginsShockwave Flash 2.0 ? pluginsShockwave Flash 2.0.description : desc; if (desc = ) flashVer = -1; else var descArr = desc.split( ); var tempArrMajor = descArr2.split(.); var verMajor = tempArrMajor0; var tempArr

15、Minor = (descArr3 != ) ? descArr3.split(r) : descArr4.split(r); var verMinor = (tempArrMinor1 0) ? tempArrMinor1 : 0; flashVer = parseFloat(verMajor + . + verMinor); / WebTV has Flash Player 4 or lower - too low for video else if (userAgent.toLowerCase().indexOf(webtv) != -1) flashVer = 4.0; var ver

16、Arr = reqVerStr.split(,); var reqVer = parseFloat(verArr0 + . + verArr2); if (flashVer reqVer) if (confirm(msg) window.location = /shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash; 首頁(yè)火影介紹角色資料精選壁紙動(dòng)畫(huà)選播 火影忍者主題曲 壁紙預(yù)覽 八、截圖首頁(yè)圖2照片圖3美文圖4九、結(jié)論(一)網(wǎng)頁(yè)設(shè)計(jì)制作需要我們明白:1.簡(jiǎn)潔實(shí)用: 這是非常重要的,網(wǎng)絡(luò)特殊環(huán)境下,盡量以最高效率的方式將用戶(hù)

17、所要想得到的信息傳送給他就是最好的,所以要去掉所有的冗余的東西。 2.使用方便: 同第一個(gè)是相一致的,滿(mǎn)足使用者的要求,網(wǎng)頁(yè)做得越適合使用,就越顯示出其功能美。3.整體性好: 一個(gè)網(wǎng)站強(qiáng)調(diào)的就是一個(gè)整體,只有圍繞一個(gè)統(tǒng)一的目標(biāo)所做的設(shè)計(jì)才是成功的。 4.網(wǎng)站形象突出: 一個(gè)符合美的標(biāo)準(zhǔn)的網(wǎng)頁(yè)是能夠使網(wǎng)站的形象得到最大限度的提升的。 5.頁(yè)面用色協(xié)調(diào),布局符合形式美的要求: 布局有條理,充分利用美的形式,是網(wǎng)頁(yè)富有可欣賞性,提高檔次,當(dāng)然雅俗共賞是人人都追求的。 6.交互式強(qiáng): 發(fā)揮網(wǎng)絡(luò)的優(yōu)勢(shì),是每個(gè)使用者都參與到其中來(lái),這樣的設(shè)計(jì)才能算成功的設(shè)計(jì)。這樣的網(wǎng)頁(yè)才算真正的美的設(shè)計(jì)。不知不覺(jué)網(wǎng)頁(yè)設(shè)計(jì)

18、的課程將要結(jié)束了,這門(mén)課程所包含內(nèi)容的豐富是讓我從沒(méi)有想到的。你也許會(huì)認(rèn)為所有的這些都會(huì)是一種限制;不錯(cuò),如果運(yùn)用不當(dāng),它們確實(shí)是會(huì)成為一種約束。不管怎樣,當(dāng)你開(kāi)始設(shè)計(jì)你的網(wǎng)站時(shí),要努力去這樣做。不要跟隨上述所有的規(guī)則,充分發(fā)揮你的創(chuàng)造力 ,你可以去創(chuàng)建一個(gè)大大的Flash電影,再加上一點(diǎn)點(diǎn)的文字內(nèi)容,使你的網(wǎng)站在眾多的網(wǎng)站中脫穎而出,哪怕瀏覽者只是為了再看一下你的設(shè)計(jì)。靈活地使用本文中所述的一些規(guī)則方法,將會(huì)使你的網(wǎng)站更完美,更容易獲得成功。在學(xué)習(xí)網(wǎng)頁(yè)制作的時(shí)間里,我學(xué)會(huì)了怎么去制作一個(gè)網(wǎng)頁(yè),當(dāng)然在制作的過(guò)程中不可避免的遇到了各種各樣的問(wèn)題,但還是在老師和同學(xué)的幫助下一一解決。雖然最終成果還

19、是有一些問(wèn)題,但是這次動(dòng)手實(shí)踐的意義是顯而易見(jiàn)的。這是我學(xué)習(xí)后的體會(huì),在這個(gè)過(guò)程中還存在有瑕疵,希望以后可以和大家多點(diǎn)時(shí)間一起交流,提高我們這方面知識(shí)的欠缺,共同進(jìn)步。附錄資料:不需要的可以自行刪除 perl函數(shù)應(yīng)用一、進(jìn)程處理函數(shù)1、進(jìn)程啟動(dòng)函數(shù)函數(shù)名eval調(diào)用語(yǔ)法eval(string)解說(shuō)將string看作Perl語(yǔ)句執(zhí)行。正確執(zhí)行后,系統(tǒng)變量$為空串,如果有錯(cuò)誤,$中為錯(cuò)誤信息。例子$print = print (hello,worldn);eval ($print);結(jié)果輸出hello, world函數(shù)名system調(diào)用語(yǔ)法system(list)解說(shuō)list中第一個(gè)元素為程序名,

20、其余為參數(shù)。system啟動(dòng)一個(gè)進(jìn)程運(yùn)行程序并等待其結(jié)束,程序結(jié)束后錯(cuò)誤代碼左移八位成為返回值。例子proglist = (echo, hello,world!);system(proglist);結(jié)果輸出hello, world!函數(shù)名fork調(diào)用語(yǔ)法procid = fork();解說(shuō)創(chuàng)建程序的兩個(gè)拷貝-父進(jìn)程和子進(jìn)程-同時(shí)運(yùn)行。子進(jìn)程返回零,父進(jìn)程返回非零值,此值為子程序的進(jìn)程ID號(hào)。例子$retval = fork();if ($retval = 0) # this is the child process exit; # this terminates the child proce

21、ss else # this is the parent process結(jié)果輸出無(wú)函數(shù)名pipe調(diào)用語(yǔ)法pipe (infile, outfile);解說(shuō)與fork合用,給父進(jìn)程和子進(jìn)程提供通信的方式。送到outfile文件變量的信息可以通過(guò)infile文件變量讀取。步驟:1、調(diào)用pipe2、用fork將程序分成父進(jìn)程和子進(jìn)程3、一個(gè)進(jìn)程關(guān)掉infile,另一個(gè)關(guān)掉outfile例子pipe (INPUT, OUTPUT);$retval = fork();if ($retval != 0) # this is the parent process close (INPUT); print (

22、Enter a line of input:n); $line = ; print OUTPUT ($line); else # this is the child process close (OUTPUT); $line = ; print ($line); exit (0);結(jié)果輸出$programEnter a line of input:Here is a test lineHere is a test line$函數(shù)名exec調(diào)用語(yǔ)法exec (list);解說(shuō)與system類(lèi)似,區(qū)別是啟動(dòng)新進(jìn)程前結(jié)束當(dāng)前程序。常與fork合用,當(dāng)fork分成兩個(gè)進(jìn)程后,子進(jìn)程用exec啟動(dòng)另一個(gè)

23、程序。例子 結(jié)果輸出函數(shù)名syscall調(diào)用語(yǔ)法syscall (list);解說(shuō)調(diào)用系統(tǒng)函數(shù),list第一個(gè)元素是系統(tǒng)調(diào)用名,其余為參數(shù)。如果參數(shù)是數(shù)字,就轉(zhuǎn)化成C的整型數(shù)(type int)。否則傳遞字符串的指針。詳見(jiàn)UNIX的幫助或Perl文檔。使用syscall必須包含文件syscall.pl,即:require (syscall.ph); 例子結(jié)果輸出2、進(jìn)程終止函數(shù)函數(shù)名Die調(diào)用語(yǔ)法die (message);解說(shuō)終止程序并向STDERR輸出錯(cuò)誤信息。message可以為字符串或列表。如果最后一個(gè)參數(shù)不包含換行符,則程序文件名和行號(hào)也被輸出。例子die (Cannot open

24、input file);結(jié)果輸出Cannot open input file at myprog line 6.函數(shù)名warn調(diào)用語(yǔ)法warn (message);解說(shuō)與die類(lèi)似,區(qū)別是不終止程序。例子warn(Danger! Danger!n);結(jié)果輸出Danger! Danger!函數(shù)名exit調(diào)用語(yǔ)法exit (retcode);解說(shuō)終止程序并指定返回值。例子exit(2);結(jié)果輸出無(wú)函數(shù)名kill調(diào)用語(yǔ)法kill (signal, proclist);解說(shuō)給一組進(jìn)程發(fā)送信號(hào)。signal是發(fā)送的數(shù)字信號(hào),9為殺掉進(jìn)程。proclist是進(jìn)程ID列表。詳見(jiàn)kill的UNIX幫助。例子結(jié)

25、果輸出3、進(jìn)程控制函數(shù)函數(shù)名sleep調(diào)用語(yǔ)法sleep (time);解說(shuō)將程序暫停一段時(shí)間。time是停止的秒數(shù)。返回值為實(shí)際停止的秒數(shù)。例子sleep (5);結(jié)果輸出無(wú)函數(shù)名wait調(diào)用語(yǔ)法procid = wait();解說(shuō)暫停程序執(zhí)行,等待子進(jìn)程終止。不需要參數(shù),返回值為子進(jìn)程ID,如果沒(méi)有子進(jìn)程,返回-1。例子結(jié)果輸出函數(shù)名waitpid調(diào)用語(yǔ)法waitpid (procid, waitflag);解說(shuō)暫停程序執(zhí)行,等待特定的子進(jìn)程終止。procid為等待的進(jìn)程ID例子$procid = fork();if ($procid = 0) # this is the child pr

26、ocess print (this line is printed firstn); exit(0); else # this is the parent process waitpid ($procid, 0); print (this line is printed lastn);結(jié)果輸出$ programthis line is printed firstthis line is printed last$4、其它控制函數(shù)函數(shù)名caller調(diào)用語(yǔ)法subinfo = caller();解說(shuō)返回調(diào)用者的程序名和行號(hào),用于Perl Debugger。返回值為三元素的列表:1、調(diào)用處的包名2、

27、調(diào)用者文件名3、調(diào)用處的行號(hào)例子結(jié)果輸出函數(shù)名chroot調(diào)用語(yǔ)法chroot (dir);解說(shuō)改變程序的根目錄,詳見(jiàn)chroot幫助。例子結(jié)果輸出函數(shù)名local調(diào)用語(yǔ)法local($variable);解說(shuō)在語(yǔ)句塊(由大括號(hào)包圍的語(yǔ)句集合)中定義局域變量,僅在此語(yǔ)句塊中起作用,對(duì)其的改變不對(duì)塊外同名變量造成影響。千萬(wàn)不要在循環(huán)中使用,否則每次循環(huán)都定義一個(gè)新的局域變量!例子結(jié)果輸出函數(shù)名times調(diào)用語(yǔ)法timelist = times解說(shuō)返回該程序及所有子進(jìn)程消耗的工作時(shí)間。返回值為四個(gè)浮點(diǎn)數(shù)的列表:1、程序耗用的用戶(hù)時(shí)間2、程序耗用的系統(tǒng)時(shí)間3、子進(jìn)程耗用的用戶(hù)時(shí)間4、子進(jìn)程耗用的系統(tǒng)

28、時(shí)間例子結(jié)果輸出二、數(shù)學(xué)函數(shù)函數(shù)名sin調(diào)用語(yǔ)法retval = sin (value);解說(shuō)參數(shù)為弧度值。函數(shù)名cos調(diào)用語(yǔ)法retval = cos (value);解說(shuō)參數(shù)為弧度值。函數(shù)名atan2調(diào)用語(yǔ)法retval = atan2 (value1, value2);解說(shuō)運(yùn)算并返回value1除以value2結(jié)果的arctan值,單位為弧度,范圍在-PIPI。應(yīng)用例:角度轉(zhuǎn)化成弧度子程序。sub degrees_to_radians local ($degrees) = _; local ($radians);11: $radians = atan2(1,1) * $degrees /

29、 45;函數(shù)名sqrt調(diào)用語(yǔ)法retval = sqrt (value);解說(shuō)平方根函數(shù)。value為非負(fù)數(shù)。函數(shù)名exp調(diào)用語(yǔ)法retval = exp (value);解說(shuō)返回e的value次方。函數(shù)名log調(diào)用語(yǔ)法retval = log (value);解說(shuō)以e為底的自然對(duì)數(shù)。函數(shù)名abs調(diào)用語(yǔ)法retval = abs (value);解說(shuō)絕對(duì)值函數(shù)。(Perl 4中沒(méi)有)函數(shù)名rand調(diào)用語(yǔ)法retval = rand (num);解說(shuō)隨機(jī)數(shù)函數(shù),返回0和整數(shù)num之間的一個(gè)浮點(diǎn)數(shù)。函數(shù)名srand調(diào)用語(yǔ)法srand (value);解說(shuō)初始化隨機(jī)數(shù)生成器。保證每次調(diào)用rand真正

30、隨機(jī)。三、字符串處理函數(shù)函數(shù)名index調(diào)用語(yǔ)法position = index (string, substring, position);解說(shuō)返回子串substring在字符串string中的位置,如果不存在則返回-1。參數(shù)position是可選項(xiàng),表示匹配之前跳過(guò)的字符數(shù),或者說(shuō)從該位置開(kāi)始匹配。函數(shù)名rindex調(diào)用語(yǔ)法position = rindex (string, substring, position);解說(shuō)與index類(lèi)似,區(qū)別是從右端匹配。函數(shù)名length調(diào)用語(yǔ)法num = length (string);解說(shuō)返回字符串長(zhǎng)度,或者說(shuō)含有字符的數(shù)目。函數(shù)名pos調(diào)用語(yǔ)法o

31、ffset = pos(string);解說(shuō)返回最后一次模式匹配的位置。函數(shù)名substr調(diào)用語(yǔ)法substr (expr, skipchars, length)解說(shuō)抽取字符串(或表達(dá)式生成的字符串)expr中的子串,跳過(guò)skipchars個(gè)字符,或者說(shuō)從位置skipchars開(kāi)始抽取子串(第一個(gè)字符位置為0),子串長(zhǎng)度為length,此參數(shù)可忽略,意味著取剩下的全部字符。當(dāng)此函數(shù)出現(xiàn)在等式左邊時(shí),expr必須為變量或數(shù)組元素,此時(shí)其中部分子串被等式右邊的值替換。函數(shù)名study調(diào)用語(yǔ)法study (scalar);解說(shuō)用一種內(nèi)部格式提高變量的訪(fǎng)問(wèn)速度,同一時(shí)刻只對(duì)一個(gè)變量起作用。函數(shù)名lcu

32、c調(diào)用語(yǔ)法retval = lc(string);retval = uc(string);解說(shuō)將字符串全部轉(zhuǎn)換成小/大寫(xiě)字母。函數(shù)名lcfirstucfirst調(diào)用語(yǔ)法retval = lcfirst(string);retval = ucfirst(string);解說(shuō)將第一個(gè)字母轉(zhuǎn)換成小/大寫(xiě)。函數(shù)名quotameta調(diào)用語(yǔ)法newstring = quotemeta(oldstring);解說(shuō)將非單詞的字母前面加上反斜線(xiàn)()。語(yǔ)句 : $string = quotemeta($string);等效于:$string = s/(W)/$1/g;常用于模式匹配操作中,確保字符串中沒(méi)有字符被看

33、作匹配操作符。函數(shù)名join調(diào)用語(yǔ)法join (joinstr, list);解說(shuō)把字符串列表(數(shù)組)組合成一個(gè)長(zhǎng)的字符串,在每?jī)蓚€(gè)列表元素間插入串joinstr。函數(shù)名sprintf調(diào)用語(yǔ)法sprintf (string, fields);解說(shuō)與printf類(lèi)似,區(qū)別是結(jié)果不輸出到文件,而作為返回值賦給變量。例子$num = 26;$outstr = sprintf(%d = %x hexadecimal or %o octaln,$num, $num, $num);print ($outstr);結(jié)果輸出26 = 1a hexadecimal or 32 octal四、標(biāo)量轉(zhuǎn)換函數(shù)函數(shù)名c

34、hop調(diào)用語(yǔ)法$lastchar = chop (var);解說(shuō)var可為變量或數(shù)組,當(dāng)var為變量時(shí),最后一個(gè)字符被刪除并賦給$lastchar,當(dāng)var為數(shù)組/列表時(shí),所有元素的最后一個(gè)字符被刪除,最后一個(gè)元素的最后一個(gè)字母賦給$lastchar。函數(shù)名chomp調(diào)用語(yǔ)法result = chomp(var);解說(shuō)檢查字符串或字符串列表中元素的最后一個(gè)字符是否為由系統(tǒng)變量$/定義的行分隔符,如果是就刪除。返回值為實(shí)際刪除的字符個(gè)數(shù)。函數(shù)名crypt調(diào)用語(yǔ)法result = crypt (original, salt);解說(shuō)用DES算法加密字符串,original是將要加密的字符串,salt

35、是兩個(gè)字符的字符串,定義如何改變DES算法,以使更難解碼。返回值為加密后的串。函數(shù)名hex調(diào)用語(yǔ)法decnum = hex (hexnum);解說(shuō)將十六進(jìn)制數(shù)(字符串形式)轉(zhuǎn)化為十進(jìn)制數(shù)。函數(shù)名int調(diào)用語(yǔ)法intnum = int (floatnum);解說(shuō)將浮點(diǎn)數(shù)舍去小數(shù)部分轉(zhuǎn)化為整型數(shù)。函數(shù)名oct調(diào)用語(yǔ)法decnum = oct (octnum);解說(shuō)將八進(jìn)制數(shù)(字符串形式)或十六進(jìn)制數(shù)(0 x.形式)轉(zhuǎn)化為十進(jìn)制數(shù)。函數(shù)名ord調(diào)用語(yǔ)法asciival = ord (char);解說(shuō)返回單個(gè)字符的ASCII值,與PASCAL中同名函數(shù)類(lèi)似。函數(shù)名chr調(diào)用語(yǔ)法$char = chr

36、(asciival);解說(shuō)返回ASCII值的相應(yīng)字符,與PASCAL中同名函數(shù)類(lèi)似。函數(shù)名pack調(diào)用語(yǔ)法formatstr = pack(packformat, list);解說(shuō)把一個(gè)列表或數(shù)組以在實(shí)際機(jī)器存貯格式或C等編程語(yǔ)言使用的格式轉(zhuǎn)化(包裝)到一個(gè)簡(jiǎn)單變量中。參數(shù)packformat包含一個(gè)或多個(gè)格式字符,列表中每個(gè)元素對(duì)應(yīng)一個(gè),各格式字符間可用空格或tab隔開(kāi),因?yàn)閜ack忽略空格。除了格式a、A和外,重復(fù)使用一種格式多次可在其后加個(gè)整數(shù),如: $twoints = pack (i2, 103, 241);把同一格式應(yīng)用于所有的元素則加個(gè)*號(hào),如: $manyints = pack

37、 (i*, 14, 26, 11, 83);對(duì)于a和A而言,其后的整數(shù)表示要?jiǎng)?chuàng)建的字符串長(zhǎng)度,重復(fù)方法如下: $strings = pack (a6 x 2, test1, test2);格式的情況比較特殊,其后必須加個(gè)整數(shù),該數(shù)表示字符串必須的長(zhǎng)度,如果長(zhǎng)度不夠,則用空字符(null)補(bǔ)足,如: $output = pack (a 6 a, test, test2);pack函數(shù)最常見(jiàn)的用途是創(chuàng)建可與C程序交互的數(shù)據(jù),例如C語(yǔ)言中字符串均以空字符(null)結(jié)尾,創(chuàng)建這樣的數(shù)據(jù)可以這樣做: $Cstring = pack (ax, $mystring);下表是一些格式字符與C中數(shù)據(jù)類(lèi)型的等價(jià)

38、關(guān)系:字符 等價(jià)C數(shù)據(jù)類(lèi)型CcharddoubleffloatiintIunsigned int (or unsigned)llongLunsigned longsshortSunsigned short完整的格式字符見(jiàn)下表。 格式字符 描述a用空字符(null)補(bǔ)足的字符串A用空格補(bǔ)足的字符串b位串,低位在前B位串,高位在前c帶符號(hào)字符(通常-128127)C無(wú)符號(hào)字符(通常8位)d雙精度浮點(diǎn)數(shù)f單精度浮點(diǎn)數(shù)h十六進(jìn)制數(shù)串,低位在前H十六進(jìn)制數(shù)串,高位在前i帶符號(hào)整數(shù)I無(wú)符號(hào)整數(shù)l帶符號(hào)長(zhǎng)整數(shù)L無(wú)符號(hào)長(zhǎng)整數(shù)n網(wǎng)絡(luò)序短整數(shù)N網(wǎng)絡(luò)序長(zhǎng)整數(shù)p字符串指針s帶符號(hào)短整數(shù)S無(wú)符號(hào)短整數(shù)u轉(zhuǎn)化成uuenc

39、ode格式vVAX序短整數(shù)VVAX序長(zhǎng)整數(shù)x一個(gè)空字節(jié)X回退一個(gè)字節(jié)以空字節(jié)(null)填充函數(shù)名unpack調(diào)用語(yǔ)法list = unpack (packformat, formatstr);解說(shuō)unpack與pack功能相反,將以機(jī)器格式存貯的值轉(zhuǎn)化成Perl中值的列表。其格式字符與pack基本相同(即上表),不同的有:A格式將機(jī)器格式字符串轉(zhuǎn)化為Perl字符串并去掉尾部所有空格或空字符;x為跳過(guò)一個(gè)字節(jié);為跳過(guò)一些字節(jié)到指定的位置,如4為跳過(guò)4個(gè)字節(jié)。下面看一個(gè)和X合同的例子: $longrightint = unpack (* X4 L, $packstring);此語(yǔ)句將最后四個(gè)字節(jié)

40、看作無(wú)符號(hào)長(zhǎng)整數(shù)進(jìn)行轉(zhuǎn)化。下面看一個(gè)對(duì)uuencode文件解碼的例子:1 : #!/usr/local/bin/perl2 : 3 : open (CODEDFILE, /u/janedoe/codefile) |4 : die (Cant open input file);5 : open (OUTFILE, outfile) |6 : die (Cant open output file);7 : while ($line = ) 8 : $decoded = unpack(u, $line);9 : print OUTFILE ($decoded);10: 11: close (OUTF

41、ILE);12: close (CODEDFILE); 當(dāng)將pack和unpack用于uuencode時(shí),要記住,雖然它們與UNIX中的uuencode、uudecode工具算法相同,但并不提供首行和末行,如果想用uudecode對(duì)由pack的輸出創(chuàng)建的文件進(jìn)行解碼,必須也把首行和末行輸出(詳見(jiàn)UNIX中uuencode幫助)。函數(shù)名vec調(diào)用語(yǔ)法retval = vec (vector, index, bits);解說(shuō)顧名思義,vec即矢量(vector)函數(shù),它把簡(jiǎn)單變量vector的值看作多塊(維)數(shù)據(jù),每塊含一定數(shù)目的位,合起來(lái)即一個(gè)矢量數(shù)據(jù)。每次的調(diào)用訪(fǎng)問(wèn)其中一塊數(shù)據(jù),可以讀取,也可

42、以寫(xiě)入。參數(shù)index就象數(shù)組下標(biāo)一樣,提出訪(fǎng)問(wèn)哪一塊,0為第一塊,依次類(lèi)推,要注意的是訪(fǎng)問(wèn)次序是從右到左的,即第一塊在最右邊。參數(shù)bits指定每塊中的位數(shù),可以為1,2,4,8,16或32。例子1 : #!/usr/local/bin/perl2 : 3 : $vector = pack (B*, 11010011);4 : $val1 = vec ($vector, 0, 4);5 : $val2 = vec ($vector, 1, 4);6 : print (high-to-low order values: $val1 and $val2n);7 : $vector = pack (

43、b*, 11010011);8 : $val1 = vec ($vector, 0, 4);9 : $val2 = vec ($vector, 1, 4);10: print (low-to-high order values: $val1 and $val2n); 結(jié)果high-to-low order values: 3 and 13low-to-high order values: 11 and 12函數(shù)名defined調(diào)用語(yǔ)法retval = defined (expr);解說(shuō)判斷一個(gè)變量、數(shù)組或數(shù)組的一個(gè)元素是否已經(jīng)被賦值。expr為變量名、數(shù)組名或一個(gè)數(shù)組元素。如果已定義,返回真,

44、否則返回假。函數(shù)名undef調(diào)用語(yǔ)法retval = undef (expr);解說(shuō)取消變量、數(shù)組或數(shù)組元素甚至子程序的定義,回收其空間。返回值始終為未定義值,此值與空串等效。五、數(shù)組和列表函數(shù)函數(shù)名grep調(diào)用語(yǔ)法foundlist = grep (pattern, searchlist);解說(shuō)與同名的UNIX查找工具類(lèi)似,grep函數(shù)在列表中抽取與指定模式匹配的元素,參數(shù)pattern為欲查找的模式,返回值是匹配元素的列表。例子list = (This, is, a, test);foundlist = grep(/tT/, list);結(jié)果foundlist = (This, test)

45、;函數(shù)名splice調(diào)用語(yǔ)法retval = splice (array, slipelements, length, newlist);解說(shuō)拼接函數(shù)可以向列表(數(shù)組)中間插入元素、刪除子列表或替換子列表。參數(shù)skipelements是拼接前跳過(guò)的元素?cái)?shù)目,length是被替換的元素?cái)?shù),newlist是將要拼接進(jìn)來(lái)的列表。當(dāng)newlist的長(zhǎng)度大于length時(shí),后面的元素自動(dòng)后移,反之則向前縮進(jìn)。因此,當(dāng)length=0時(shí),就相當(dāng)于向列表中插入元素,而形如語(yǔ)句splice (array, -1, 0, Hello);則向數(shù)組末尾添加元素。而當(dāng)newlist為空時(shí)就相當(dāng)于刪除子列表,這時(shí),如果length為空,就從第skipelements個(gè)元素后全部刪除,而刪除最后一個(gè)元素則為:splice (array, -1);這種情況下,返回值為被刪去的元素列表。函數(shù)名shift調(diào)用語(yǔ)法element = shift (arrayvar);解說(shuō)刪去數(shù)組第一個(gè)元素,剩下元素前移,返回被刪去的元素。不加參數(shù)時(shí),缺省地對(duì)ARGV進(jìn)行操作。函數(shù)名unshift調(diào)用語(yǔ)法count = unshift (arrayver, elements);解說(shuō)作用與

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論