韩半仙

  博客园  ::  :: 新随笔  ::  :: 订阅 订阅  :: 管理

2012年3月23日

摘要: Perl的networking 功能非常强大,基本上用c/c++能做的事perl都能做,而且做得更轻松方便,甚至可以只用10来行代码就完成了c/c++要几十上百甚至几百行才能完成得好的工作。在networking方面,最基础的是BSD socket编程,但往往perl入门时在这个方面,最头疼的无疑是... 阅读全文
posted @ 2012-03-23 18:26 韩英武 阅读(5025) 评论(0) 推荐(0)

摘要: 本文内容适用于perl 5.8及其以上版本.perl internal form在Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串,perl管它叫string. 也就是说: Perl只认识两种编码: Ascii(octets)和utf8(string).utf8 flag那么perl如何确定一个字符串是octets还是utf8编码的字符串呢? perl可没有什么智能, 他完全是靠字符串上的utf8flag. 在perl内部, 字符串结构由两部分组成: 数据和utf8 flag. 比如字符串"中国&quo 阅读全文
posted @ 2012-03-23 18:24 韩英武 阅读(771) 评论(0) 推荐(0)

摘要: 常用正则表达式匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\s*|\s*$评注:可以用来删除 阅读全文
posted @ 2012-03-23 18:20 韩英武 阅读(538) 评论(0) 推荐(0)

摘要: 导入IO::Socket包:use IO::Socket;讲解: IO::Socket下又有两个子类IO::Socket::INET与IO::Socket::UNIX,我们现在用的当然是IO::Socket::INET了。----------------------------------------------------------------------------Notes:作为一个简单的客户端,它的步骤只需要先调用new方法,然后立刻就可以进行基本I/O操作(使用print与getline等基本I/O方法)了,最后只需调用close方法结束会话,那么整个SOCKET会话就算完成了。- 阅读全文
posted @ 2012-03-23 17:22 韩英武 阅读(1855) 评论(0) 推荐(0)

摘要: 网络编程是一门神秘且复杂的艺术,当然也十分有趣。Perl语言提供了丰富的TCP/IP网络函数,所有这些函数都 直接来源于C语言的socket库函数. 由于Perl语言和C语言的socket库函数在型式和使用方法上都是一样的,因此会使用Perl语言进行Socket编程, 当 然也就会使用C语言进行Socket编程. 下面是Perl语言中有关的socket库函数列表: 函数原型 使用说明 accept(NEWSOCKET,GENERICSOCKET) 接受请求的socket连接.如果成功,则返回压缩形式的网络地址;否则返回FALSE. 范例: if (!$Connect = accept(NEW, 阅读全文
posted @ 2012-03-23 17:21 韩英武 阅读(1392) 评论(0) 推荐(0)