思索网:WWW.4SO.NET
网站首页
设为首页
加入收藏
社区论坛
联系我们
网站地图
发现个人价值
提高企业内涵
一切源于思索
首页
企业之家
公关文秘
免费论文
网上办公指南
操作系统
多媒体应用
现代教学
下载中心
专题报道
推荐文章
评论
English Article
IT资讯
网页设计
网站运营
编程开发
平面设计
网络安全
工具下载
站内搜索
最新文章
热门文章
论坛
栏目列表
ASP专区
PHP专区
JSP专区
.Net专区
XML专区
其它网页编程
HTML&CSS
Dreamweaver
Frontpage
Javascript
数据库相关
服务器相关
网络媒体
建站经验
FLASH
网络安全
首页
>
站长学院
>
其它网页编程
> 利用Perl开发Internet/Intranet应用之二(2)
利用Perl开发Internet/Intranet应用之二(2)
日期:
2005-04-17 00:00:00
来源:
中国站长学院
请您记住思索网的网址:
http://www.4so.net
[加入收藏夹]
----
2 强大的字串处理功能
----在前面已提过perl具有非常强大的字串处理功能,它除了提供一些字符运算比较符(eq,ne,le...)外,还提供了大量针对字符串匹配的参数。这是其它一些cgi编写语言所不具有的。
----我们经常会遇到,传递的参数是中文信息,但接收到后却都是乱码。这是什么原因呢?我们都知道,一个中文占用2个字节,而一个
英文
字母只占用1个字节,unicode编码除外(unicode是Microsoft提出的标准,采用16位同时对中英日韩等多国文字进行编码的机制)。server接收到参数信息后,会以字节为单位把每单位信息转换为两个十六进制数,这时候,中文的高字节会被转换为"%**",而低字节也被转换为"%**"。如果使用perl,该参数信息非常容易就能被还原出来。
...
$info=$ENV{'QUERY_STRING'};
#读取参数信息到变量$info中
$info=~s/%([dA-Fa-f][dA-Fa-f])
/pack("c",hex($1))/eg;
----该语句的语法含义是:s是取代的意思;"/"中的内容是要找的格式(“=~”是一些特殊字符,具体含义见表一);%([dA-Fa-f][dA-Fa-f])表示以%开始,后连续跟着两个十六进制数的字串(dA是一些字符匹配格式,具体含义见表二),找到该字串后,系统把该值存放在$1中;pack("c",hex($1))表示把$1中的数转换为真正的十六进制字串;e表示把整个要替换的字串当做表达式;g表示整个字串都要做相应的查找替换。
----除了转换中文参数外,我们还经常要面对查找、替代诸如log文件、邮件等大量信息的困难;如果使用perl提供的一系列参数,将省去很多不必要的麻烦。限于篇幅关系,下面仅列出一些常用的参数。
----表一:
=~寻找给定字串的特殊格式
m取消//内“^”、“$”的特殊含义
i字串匹配时不考虑大小写
x字串匹配时不考虑空格
s取代的意思
表二:
w匹配一个文字或数字字符,包括“_”
W匹配一个非文字/数字字符
s匹配一个空白字符,包括“space”、“tab”键入的字符
S匹配一个非空白字符
d匹配一个数字字符
D匹配一个非数字字符
b匹配一个二进制字符
B匹配一个非二进制字符
A仅从字串开始进行匹配
Z仅从字串最后进行匹配
G表示m/结束
本文地址:
http://www.4so.net/web/mix/1402.html
将本页加入收藏夹
将地址复制到剪贴板发送给好友
若发现本文有误或版权问题点击这里
热门信息
相关文章
[
其他相关
]
常用的匹配正则表达式和实例
[
其他相关
]
用定制的GUI开发Java聊天软件
[
其他相关
]
Perl语言的文字处理模式之三(3)
[
其他相关
]
实现Web代理功能
[
其他相关
]
自制王码五笔字型输入法安装包
[
其他相关
]
利用Perl开发Internet/Intranet应
[
其他相关
]
本地调试PERL CGI程序之二
[
其他相关
]
perl连接access数据库之一
[
其他相关
]
Perl教学 第十二篇 Perl5中的引用
[
其他相关
]
Perl教学 第十一篇 文件系统之二
利用Perl开发Internet/Intranet应用之二(5)
利用Perl开发Internet/Intranet应用之二(4)
利用Perl开发Internet/Intranet应用之二(3)
文章评论
收藏本文
打印本文
关闭窗口