麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 技術開發(fā) > 正文

編寫PERL程序的一點經驗

2023-06-23 14:40:23
字體:
來源:轉載
供稿:網友

這是本人在編寫PERL程序時積累的一些經驗,在此拋磚引玉,希望大家能都提出寶貴意見。

 一、多條件排序

一般我們在做程序時,很多時候需要多條件排序,我們只要知道其中的原理,就會知道其實多條件排序是非常容易的。

首先我們先把條件各自對應放到幾個數組中,然后我們對其中一個數組進行排序,由于其他數組和這個排序的數組值是一一對應的,我們就可以列出其他的數組項了。下面舉例說明:(test.cgi排序程序;test.txt 需要排序的文件)

test.cgi
#!/usr/bin/perl
print "Content-type:text/html/n/n";
open (FILE,"/free/hd1/cqiao/test.txt") || die "Open FileError:$!";#打開文件
@test=; close(FILE); $index=0;
foreach $_ (@test) { #從文件中讀取值
($s1,$s2,$s3,$s4)=split(//|/,$_);
$s1list[$index]=$s1;#分別放入不同數組
$s2list[$index]=$s2;
$s3list[$index]=$s3;
$s4list[$index]=$s4;
$index++;
print "s1:$s1 s2:$s2 s3:$s3 s4:$s4 ";
}
@indexs1=sort sorts1 0..$#s1list;#按不同條件排序
@indexs2=sort sorts2 0..$#s2list;
print "安s1排序 ";
foreach $_ (@indexs1) {
print "s1:$s1list[$_] s2:$s2list[$_] s3:$s3list[$_] s4:$s4list[$_]";
}
print "安s2排序 ";
foreach $_ (@indexs2) {
print "s1:$s1list[$_] s2:$s2list[$_] s3:$s3list[$_] s4:$s4list[$_]";
}
exit;
sub sorts1 {
$s1list[$a] cmp $s1list[$b]; #字符比較
}
sub sorts2 {
$s2list[$a]<=>$s2list[$b]; #數字比較
}
test.txt
cqiao|1|5|d
abs|5|1|f
dfk|7|5|fd
hnd|4|2|d
dfj|10|3|d
dfj|11|5|df

同樣按s3、s4排序,只要把s1、s2的排序換成s3、s4就可以

2、perl中包的應用

一般情況下,我們編寫perl程序要用require調用一些常用的函數,但是這樣會影響程序的速度,其實只要有些編程基礎的人應該可以想到,在c++或vb中都有對象、類這個概念,而作為一個優(yōu)秀的語言,perl不可能沒有,那就是包概念。

舉例說明: 在我編寫cqbbs正式版的時候就采用了包。

1、在程序目錄下建立CQBBS子目錄。

2、常用的函數放在CQBBS下的common.pm文件中。

3、common.pm的頭部信息:

package CQBBS;#定義包 
        require Exporter;
       @ISA = qw(Exporter);
       @EXPORT = qw( GetForm GetCookies SetCookies GetLongTime GetTimemessage
        many UbbCode spite OpenDbm ReadUser );#常用函數名

4、在應用程序bbs.cgi中定義:

package CQBBS; 
        BEGIN {
         eval {
            ($0 =~ m,(.*)/[^/]+,) and unshift (@INC, "$1");
           ($0 =~ m,(.*)//[^//]+,) and unshift (@INC, "$1");
         }; 
       }
       BEGIN {
          use CQBBS::common;
       }

這樣,我們就能使用common.pm重的所有函數,而且速度一點也不影響。

使用方法: CQBBS::message;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产老师做www爽爽爽视频 | 中文字幕在线免费播放 | 国产精品久久久久久238 | 欧美成年性h版影视中文字幕 | 曰韩一级片 | 欧美精品一区二区中文字幕 | 国产精品午夜未成人免费观看 | 李宗瑞国产福利视频一区 | 国产免费久久久 | hdhdhd79xxxxх| 91av大片 | 久久艹国产精品 | 美女扒开腿让男生桶爽网站 | 国产小视频在线 | 黄色大片免费网站 | 国产毛片网 | 最新中文字幕在线 | 国产成人av一区 | 久久精品国产99久久久古代 | 欧美激情精品久久久久久黑人 | 一级做a爱片性色毛片 | 欧美视屏一区二区 | 日本高清无遮挡 | 日本欧美一区二区三区在线观看 | 性高湖久久久久久久久aaaaa | 羞羞视频免费网站含羞草 | 水多视频在线观看 | 综合网天天射 | 国产做爰全免费的视频黑人 | av黄色片网站 | 操毛片| gril hd| 国产精品久久久免费观看 | 欧美一级做一级爱a做片性 91在线视频观看 | 色视频在线 | 激情综合网俺也去 | 一级一片免费 | 51国产偷自视频区视频小蝌蚪 | 爱射av| 国产精品视频一区二区三区四 | 国产小视频在线观看 |