设为首页 收藏本站
查看: 878|回复: 0

[经验分享] Perl中常用到的一些模板代码(BASIC)

[复制链接]

尚未签到

发表于 2017-5-19 11:30:57 | 显示全部楼层 |阅读模式
DSC0000.gif #Thisisafileforrecordingthefrequentlyusedperlcode.
usewarnings;

######################################################################
open(FILE,"filename")||die"cannotopenthefile:$!";
@file_list=<FILE>;
open(OUTPUT,">>$output_file")||die"cannotopenthefile:$!";
foreach$eachline(@file_list){
chomp$eachline;
printOUTPUT"$eachline ";
}

#Abetterway
while(defined($eachline=<FILE>)){
chomp$eachline;
}


#Ifthefileexists
if(-e"$filenameORdirectory/$filename"){
}

######################################################################
#UsingHash
#defineahash(%genehash)foreachgene;

%gene_hash=();
#ifthereexiststhekeyword:$entry[0]
if(exists$gene_hash{$entry[0]}){
$gene_hash{$entry[0]}="$gene_hash{$entry[0]},$entry[1]";
}
#printthehashfile.
foreach$keyword(keys%gene_hash){
printGENEHASH"$keyword$gene_hash{$keyword} ";
}

######################################################################
#parsingstring

$dicname_start=index($dicxml_line,"<name>");
if($dicname_start>=0){
#theformat:<name>***</name>,getthedicname...
$dic_name=substr($dicxml_line,($dicname_start+6),(-7));
printOUTPUT"$dicid$dic_name ";
}



######################################################################
#crawlingHTMLpages

useLWP::UserAgent;

$letter='a';
open(LETTER_HTML,">>HTML/html_$letter")||die"cannotopenthefile:$!";
$url="http://cancerweb.ncl.ac.uk/omd/contents/".$letter.".html";

my$agent=newLWP::UserAgent();
my$request=newHTTP::Request('GET'=>$url);
my$response=$agent->request($request);

print"Downloadinghtml_$letter... ";
printLETTER_HTML$response->content();
close(LETTER_HTML);
print"Downloadinghtml_$letterCompleted! ";


######################################################################
#RegularExpressions
###TheCHARorSTRING
#onechar

.
#
[abcde];
[a
-e];
[
0-9];
#not
[^a-z];

#常用字符类的快捷方式
w一个单词字符,与[a-zA-Z0-9]相同
W一个非单词字符,与w相反

d一个数字,与[0-9]相同
D一个非数字

s一个白空间字符,与[tfrn]相同
S一个非白空间字符


###TheMatchingTimes
#oneormoretimes

+
#0ormoretimes
*
#0oronetimes
?
#customizematchingtimes,match'pat'atleast'n'times,most'm'times.
pat{n,m}

###RE中的'或者',选择
/dogs|cats/
/(.*)siss(.*)/理解其中s代表一个白空间字符

#………………………………………………………………………………
#matchingtheRegularExpressions

m//;
//;
m{};

#replacingthestring
s/searchpattern/replacement/

#默认的对$_进行操作,对变量进行匹配或替换使用

$variable=~m//;
$variable=~s///;

#不考虑大小写
m//i;
#全局
m//g;
#当RE中带有括号时,匹配的结果将被自动保存到特殊的变量中
$1,$2,...

#
if(/(d{3})-(d{3})-(d{4})/){
print"Theareacodeis$1";
}
#因此可以把匹配结果付给一个list
@f=m/W(fwww)/g;




######################################################################
#其他函数
#搜索子串

index();
rindex();
#分割提取标量
substr();
#转换
tr/searchlist/replacementlist/;
#与替换s///的区别在于后者可以是整个list的对应替换

######################################################################
#使用目录

opendir(TEMPDIR,"http://treasuresoftheinternet.org/dictionary/o/")||die"cannotopentheDIRECTORY:$!";
#@FILES=readdirTEMPDIR;
#removethe.and..files!
#@FILES=grep(!/^..?$/,readdirTEMPDIR);
#getallthe.txtfiles!
#@FILES=grep(/.txt$/i,readdirTEMPDIR);


while(defined($file=readdirTEMPDIR)){
#open(FILEH,"crawl_html/$file")||die"cannotopenthefile:$!";
#removetheno_sense.and..

$no_sense=$file=~m{^..?$};
if(!$no_sense){
print"$file ";
}
}

#browserthedirectory
#print"Yourcurrentdirectoryis:",cwd," ";
#chdir'crawl_html'orwarn"Directory/tmpnotaccessible:$!";
#print"Youarenowin:",cwd," ";


closedir(TEMPDIR);


######################################################################
#使用Perl中的模块module


……

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-379065-1-1.html 上篇帖子: perl处理文本经验积累(不断更新中) 下篇帖子: perl 解析html, 自己写的几个比较常用方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表