网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Perl
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Perl简介(适合对C语言有点认识的.
.如何使用strict和warnings.
.Perl常用系统函数.
.PerlCGI程式写作常问问题集(4)安.
.LINUX.
.PerlCGI程式写作常问问题集(2)Mo.
.Perl简介.
.perl常问问题集--第一篇.
.Perl变量(1)--纯变量.
.Perl的基本输入输出.
.Perl操作mysql数据库的方法.
.Perl如何调试程序.
.响应头204的应用.
.Perl简单模块指南.
.PERL下的正则表达式.
.使用Perl连接Mysql数据库.
.proftpdlog文件实时分析,动态封.
.用Perl来分析并生成中文Excel文件.
.构建一个Perl/CGI投票系统.
.Perl的运算符号字符.

perl常问问题集--第九篇

发表日期:2006-3-5



目录
篇名
概述
我的CGIscript可在指令列下执行但无法从浏览器执行。您能不能帮我修修看?
如何去除文章中的HTML标签?
如何萃取URLs?
如何从user端上传资料?如何在另一台机器上开一个档案?
如何在HTML中做pop-upmenu(跳出式选单)?
如何抓HTML档案?
如何解开或产生Web上那些冠的码?
如何【将requests】转向到另一页去?
如何替网页加上密码?
要怎麽用Perl来编辑.htpasswd和.htgroup这两个档案?
如何防范使用者藉由填我的CGI表格来做坏事?
如何解读、萃取email标头资料?
如何解译CGI表格?
如何验证email位址?
如何解MIME/BASE64字串?
如何根据使用者帐户名称自动合成email位址?
我的程式如何送/读email?
如何找出我的主机名/网域名/IP位址?
如何抓新闻讨论群的文章或群组名录?
如何抓/丢FTP档案?
如何用Perl做RPC?
作者及版权事宜

--------------------------------------------------------------------------------

篇名
perlfaq9-网路连线(原文版Revision:1.16,Date:1997/04/2318:12:06.中文版$Revision:1.13$,$Date:1997/07/1220:44:25$)


--------------------------------------------------------------------------------

概述
本篇涵盖网路连线、Internet,还有几个关於WWW的问题。


--------------------------------------------------------------------------------

我的CGIscript可在指令列下执行但无法从浏览器执行。您能不能帮我修修看?
当然,但您恐怕付不起雇我们的签约金:-)

说真的,如果您能够先证明您已读过下列这几个FAQs,但遇到的问题并不单纯、非叁言两语即可回答的话,那麽您post到comp.infosystems.www.authoring.cgi上(如果是有关HTTP、HTML,或CGI通信协定)的问题可能也会得到口气和缓而有用的答覆。表面上看似Perl,但骨子里是CGI之类的问题,如果post到comp.lang.perl.misc人家可能就不会这麽乐意地接受了。

几个实用的FAQs分别是:

http://www.perl.com/perl/faq/idiots-guide.html
http://www3.pair.com/webthing/docs/cgi/faqs/cgifaq.shtml
http://www.perl.com/perl/faq/perl-cgi-faq.html
http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html
http://www.boutell.com/faq/

【译者】上面第叁份文件,Perl-CGI-FAQ的中译版可在http://2Ti.com/cgi-bin/2T/perl/perl-cgi-faq-chi/处取得。最後一份(WWWFAQ)的中译版可自http://www.acer.net/document/cwwwfaq/取得。


--------------------------------------------------------------------------------

如何去除文章中的HTML标签?
最正确(尽管不是最快)的方法是使用HTML::Parse模组(可由CPAN取得,是所有写Web程式者必备的libwww-perl套件的一部分)。

许多人尝试用简陋的正规表示式来解决这个问题,譬如说像s/<.*?>//g,但这个式子在很多情况下会失败,因为要处理的字串可能会跨越断行字元,也可能含有被quote【跳脱】的箭头号,或有HTMLcomment出现;再加上一些疏忽,譬如,人们常忘了转换如<的entities(跳脱字元)。

以下这个「简陋」的方法对大多数的档案都有效:

#!/usr/bin/perl-p0777
s/<(?:[^>'"]*|(['"]).*?\1)*>//gs

如果您想要更完整的解法,请看叁部曲的striphtml程式,http://www.perl.com/CPAN/authors/Tom_Christiansen/scripts/striphtml.gz。


--------------------------------------------------------------------------------

如何萃取URLs?
一个快速但不完美的做法是

#!/usr/bin/perl-n00
#qxurl-tchrist@perl.com
print"$2\n"whilem{
<\s*
A\s HREF\s*=\s*(["'])(.*?)\1
\s*>
}gsix;

这个版本并不替相对式写法的URLs作调整,也不懂代换bases【】,或如何处理HTMLcomments、同时处理同一个标签里的HREF和NAME属性,或接受URL形式的参数。同时,它要比一个较「完整」、利用LWP[libwww-perl]模组套件的解法,例如http://www.perl.com/CPAN/authors/Tom_Christiansen/scripts/xurl.gz这个程式,快上一百倍。


--------------------------------------------------------------------------------

如何从user端上传资料?如何在另一台机器上开一个档案?
如果是HTML表格的话,您可以使用multipart/form-data的编码格式。CGI.pm(可自CPAN取得)中的start_multipart_form()这个method就是为此设计的,它和startform()这个method是两回事。


--------------------------------------------------------------------------------

如何在HTML中做pop-upmenu(跳出式选单)?
上一篇:perl常问问题集--第一篇 人气:3705
下一篇:PerlCGI程式写作常问问题集(1)入门简介 人气:4083
浏览全部Perl的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐