- Perl語言IC設計實踐
- 滕家海編著
- 8字
- 2022-02-08 17:37:58
第1章
Perl語言基礎
1.1 準備工作
在開始編寫Perl語言程序之前,我們先做一些準備工作。
1.1.1 安裝環境
大部分IC設計公司會采用Linux操作系統作為開發平臺,許多IC設計工作,比如模擬IC設計、數字IC設計和版圖設計類,都是在Linux操作系統上相關的EDA軟件中進行的,因此本書推薦使用Linux操作系統,CentOS、Ubuntu、Debian等都可以使用。
如果你已經有Linux操作系統,那么Perl可能已經在其中安裝好了。請打開一個命令行(即terminal)窗口,然后在其中輸入:
perl -v
四個小寫字母p、e、r、l,然后是空格,緊跟著的是短劃線“-”(不是下劃線“_”)和小寫字母v。包括空格,一共有7個字符,然后按下回車鍵。
如果輸出顯示了Perl的版本信息,那么恭喜你,此系統上就已經安裝了Perl。通常會有類似這樣的輸出類:
This is perl 5, version 28,…
這表明Perl的版本號是5.28。
如果你只有Windows操作系統,那么推薦你安裝虛擬機軟件,比如VirtualBox或者VMware Workstation Player。再下載某個Linux發行版的ISO文件并通過虛擬機軟件安裝這個操作系統。
如果你只有Mac OS操作系統,那么你也可以運行本書的所有代碼。
如果你想安裝Perl的最新版本,那么可以從官網下載。官網的網址如下:
www.perl.org
有兩種自行安裝的選擇:
1)下載源代碼,根據源碼包中包含的readme或者install文檔,自行編譯和安裝。這通常需要多花費一點時間去編譯,根據機器的性能,一般在十幾分鐘到幾小時不等。這樣做的好處就是可以獲得最新的Perl版本,并且可以使Perl與你的機器硬件匹配得更好。
2)下載與自己使用的Linux系統匹配的安裝包,比如對應Cent OS的一般是.rpm后綴的安裝包,對應Ubuntu的是.deb后綴的安裝包。這樣的安裝更便捷一些,但一般不是最新的版本,是一個接近最新版的較新版本。
只要你的Perl的版本號在5.10.1以上,就可以運行本書的全部代碼。
1.1.2 選擇編輯器
系統上安裝Perl以后,就可以開始編程了。
如果你是第一次編程,那么請注意,我們要選擇合適的文本(代碼)編輯器,而不能使用微軟的Word編輯器或者類似的帶“格式”的文本編輯器。因為除了我們輸入的字符以外,這樣的編輯器還會在文件中增加一些二進制代碼來表示格式、字體等信息,而這些都是Perl無法識別的。
所以我們需要一款“純”文本編輯器。如何區分“純”或“不純”呢?可以先在編輯器中輸入簡短的內容,然后使用cat命令輸出此文件的內容,如果你看到的全部輸出就是你輸入的內容,那么這就是一款“純”文本編輯器。
vi、vim、gedit、kedit、emacs等都是符合我們需求的“純”文本編輯器。
一般Linux系統默認已安裝vi或者vim,如果你熟悉并喜歡它們,那么這是不錯的選擇。如果你不熟悉或者不喜歡vi或vim,那么可以選擇gedit、kedit、emacs等在Linux上容易找到的文本編輯器,或者安裝一個自己熟悉并且喜歡的“純”文本編輯器。
1.1.3 查閱官方文檔
查閱官方文檔有兩種方式,一種是在官網瀏覽(或者下載):
另一種方式是,執行perldoc命令,查閱某個函數或者關鍵字。你可以運行perldoc或者perldoc perldoc,它會提示你更多用法。
1.1.4 運行本書中的程序
如果想直接運行本書中的程序,請注意代碼的第一行#!/usr/local/bin/perl是我的Perl的路徑,你的Perl路徑可能不一樣,請運行which perl命令來確認路徑。如果路徑不一樣,你有兩種選擇。
第1種選擇(更簡潔),在命令行窗口中運行如下代碼:
perl ./ch1/some.pl
或者
cd ./ch1 perl some.pl
這樣由于你運行了有效的Perl,它會忽略程序文件的第一行,并告訴shell默認情況下的Perl的路徑。
第2種選擇,你需要修改程序的第一行,把第一行寫成,“#!”后面緊跟你的Perl的全路徑,并且確保此文件是可執行的,然后運行:
./some.pl
好了,萬事俱備,讓我們開始Perl語言IC實踐之旅吧!
- Spring Cloud Alibaba微服務架構設計與開發實戰
- 大學計算機基礎實驗指導
- Android開發:從0到1 (清華開發者書庫)
- C#應用程序設計教程
- 零基礎學Scratch 3.0編程
- Android Studio Cookbook
- RocketMQ實戰與原理解析
- Scala Functional Programming Patterns
- Visual C++開發寶典
- Yii2 By Example
- SaaS攻略:入門、實戰與進階
- RESTful Web API Design with Node.js
- PhantomJS Cookbook
- PHP典型模塊與項目實戰大全
- Game Development Patterns and Best Practices