韩半仙

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

2012年4月8日

摘要: Using Perl 5.10 featuresperl 5.10 includes new language featuresincompatible with previous versionusefeature':5.10';usefeatureqw(switchsaystate);use5.010say feature.#!/usr/bin/perl#usestrict;usewarnings;usefeature":5.10";main(@ARGV);submain{say"ThisisthePerl5.10newfeaturesexer 阅读全文
posted @ 2012-04-08 01:07 韩英武 阅读(368) 评论(0) 推荐(0) 编辑

2012年3月25日

摘要: taglist能够列出源文件中的tag(function, class, variable, etc)并跳转.注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!(1)到http://vim.sourceforge.net/scripts/script.php?script_id=273下载taglist_42.zip,即http://vim.sourceforge.net/scripts/download_script.php?src_id=6416(2)解压得到两个文件# unzip -d taglist taglist_42.zip# cd tag 阅读全文
posted @ 2012-03-25 12:16 韩英武 阅读(1596) 评论(0) 推荐(0) 编辑

2012年3月23日

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

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

2012年3月17日

摘要: Why use pod??POD is "plain old documentation".It's a simple language for uniform documentation.It's very easy to use.POD主要是用于模块Example.pm__END__=head1NAMETemplate-Descriptiongoeshere=head1SYNOPSISuseTemplatemy$o=Template->new;=head1METHODS=over4=itemB<new>ConstructsanewTem 阅读全文
posted @ 2012-03-17 16:50 韩英武 阅读(235) 评论(0) 推荐(0) 编辑

摘要: Modules are collections of Perl code for use with different scriptsModules can be object-oriented or proceduralModules can contain code and/or data Object-oriented vs procedural modules Most modules are object-oriented.object-oriented code has these properties.-Dynamic: the object determines what co 阅读全文
posted @ 2012-03-17 16:28 韩英武 阅读(330) 评论(0) 推荐(0) 编辑

2012年3月11日

摘要: string.pl#!/usr/bin/perl#usestrict;usewarnings;main(@ARGV);submain{my$string="thisisastring\n";print$string;chomp$string;message("[$string]");chop$string;message("[$string]");my$s2=uc$string;message($s2);$s2=lc$string;message($s2);$s2=substr($string,5,2);message($s2);$s 阅读全文
posted @ 2012-03-11 23:54 韩英武 阅读(293) 评论(0) 推荐(0) 编辑