新聞中心
Perl,一種功能豐富的計算機程序語言,運行在超過100種計算機平臺上,適用廣泛,從大型機到便攜設(shè)備,從快速原型創(chuàng)建到大規(guī)??蓴U展開發(fā)。

Perl 語言的應(yīng)用范圍很廣,除CGI以外,Perl被用于圖形編程、系統(tǒng)管理、網(wǎng)絡(luò)編程、金融、生物以及其他領(lǐng)域。由于其靈活性,Perl被稱為腳本語言中的瑞士軍刀。
利用注釋調(diào)試:使用 Smart::Comments 模塊
調(diào)試 Perl 腳本有兩種方式:一種是使用 Perl 的內(nèi)置調(diào)試器,另一種是在腳本中嵌入 print 語句。如果是第二種,大概就會了解到,像那樣手工調(diào)試的最大問題是:一旦移除了 bug,就得也同時通篇移除調(diào)試語句。但是如果能將這些語句安全地留在代碼里不是更好嗎?畢竟很可能再此需要他們,特別是當(dāng)又有 bug 出現(xiàn)的時候。
現(xiàn)在,在 Perl 里有這樣一個模塊:它可以利用注釋來開啟調(diào)試語句,這就是 Smart::Comments 模塊。下面是最簡單的示例,當(dāng)使用 Smart::Comments 時,任何由三個或更多個 # 開頭的注釋就會變成調(diào)試語句,并會把注釋的所有內(nèi)容送到屏幕:
#!/usr/bin/perl
use Smart::Comments;
my @ipaddr = split /\./, "10.109.32.151";
### @ipaddr;
當(dāng)執(zhí)行這段代碼后,Smart::Comments 會找到三個一組的 # 注釋,并打印出它們所包含的所有內(nèi)容:
### @ipaddr: [
### '10',
### '109',
### '32',
### '151'
### ]
Smart::Comments 的用法不只限于打印變量值,它甚至可以在代碼的循環(huán)部分用進度條的形式動態(tài)現(xiàn)實,更加詳細的描述,請參考 perldoc 文檔。
一次讀入整個文件的技巧
我想你一定知道 Perl 中的鉆石操作符()。所以如果想把文件一次性讀入是,應(yīng)該首先修改 $/ 變量:
open CONF, ", $file; my $text = do { local $/; };
模塊 File::Slurp 中有關(guān)于文件操作的更多方式。
封裝 SQL 語句:不要直接在代碼中使用 SQL 語句
對于向數(shù)據(jù)庫中插入數(shù)據(jù)的操作,可以使用下面代碼來實現(xiàn) SQL 語句:
sub insert {
my ($table, $data) = @_;
my $sql = "insert into `$table` ";
my $insert_fields = join ", ", map { "`$_`" } keys %$data;
my $insert_values = join ", ", map { "'$_'" } values %$data;
$sql .= join " ", "(", $insert_fields, ") ";
$sql .= join " ", "values ", "(", $insert_values, ")";
# open a database and return $dbh
my $sth = $dbh->prepare($sql);
$sth->execute() or die;
$sth->finish();
}
調(diào)用時只需要依據(jù)表名和哈希數(shù)據(jù)即可:
my %data = (
name => "Alice",
age => "23",
country => "U.S.",
);
insert "student", \%data;
利用列表賦值交換兩個變量的值
我們知道一般情況下如果需要交換兩個變量的值,那么需要使用一個臨時變量才能完成,但是在 perl 中,可以這么做:
my ($foo, $bar) = ("foo", "bar");
($foo, $bar) = ($bar, $foo);
網(wǎng)站名稱:詳解Perl編程技巧
分享路徑:http://m.fisionsoft.com.cn/article/cdsgdjc.html


咨詢
建站咨詢
