大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> CGI专区 -> Perl语言的文字处理模式之三(4)

Perl语言的文字处理模式之三(4)

时间: 2021-07-31 作者:daque

典型三:   $string="ww22cgi44";   $string=~s/(d+)/$1*2/e;   (d+)代办要探求$string中一个或是多个数值的字符串,再将找到的字符串设成 $1。加上参数e是代办要把$l*2看成是一个演算式,以是$string="www44cgi44";   $string="www22cgi44";   $string=~s/(d+)/$1*2/eg;   加上参数e,以是会把$1*2看成是一个演算式来看, 加上参数g就会把十足适合数 值 的字符串过程演算式演算之后再把它代替,以是$string="www44cgi88"; 典型四:   假如本来的字符串是$value="三八!",经cgi数据源代码之后,这个字符串就会形成 $value="%a4t%a4k%21"。以次是一个解码的演示步调:   $value="%a4t%a4k%2l";   $value=~s/%([a-fa-f0-9][a-fa-f0-9])/pack("c",hex($l))/eg;   在传递cgi数据的功夫会把数据源代码,个中会将特出字符或是中笔墨符源代码成以% 发端的贯串两个十六进制数的字符串,以是要用s这个因变量来探求这个以%发端的 字符串。为了要把找到的字符串再做解码的处置, 以是要在%这个标记之后加上 ()这个标记, 表白会把找到的字符串回顾起来并指定给$1这个变量,并且要在() 中加上代办是贯串两个十六进制数值的笔墨处置形式(regular expression),也 即是[a-fa-f0-9][a-fa-f0-9]。再用hex这个因变量($1是代办适合的字符串)把十 六进制数值转成十进制的码,之后再用pack这个因变量(以c为参数,是代办 unsigned char value的道理)把这个十进制码恢复成从来的字符串。结果就会 把这个字符串解码成$value="三八!"。犯得着一提的是也不妨把这个解码的步调 写成:  $value=~s/%(..)/pack("c",hex($l))/eg;

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.