自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(23)
  • 收藏
  • 关注

原创 [Perl] 变量$` ,$' 和@-

看到这些古怪的符号却不知道他们代表什么,怎么办?查perldoc perlvar! $`也叫$PREMATCH,指字符串中正则匹之前的部分;$ 也叫$POSTMATCH,指字符串中正则式之后的部分;不过它们都可能带来性能上的问题,因此推荐使用@-作为替换。 @-也叫@LAST_MATCH_START, 它是一个list, 记录最后一次正则匹配开始的位置。$-[0]就是

2009-03-06 11:55:00 427

原创 [Perl]对非标量函数返回值的处理

 函数的返回值肯定不可能只是标量,当返回值为多个时,我们可以把返回值放入列表,这是很正常的。但是如果函数的其中一个返回值不是标量,情况会是什么样子?#!/usr/bin/perlsub get_value{ my $err = 0; my @arr1; my @arr2; push @arr1, "item for arr1"; push @

2009-03-06 11:29:00 1294

原创 [Perl]正则表达式中使用变量

sub regfromvar{ my $str1="requestform"; my $str2=$str1; my $parttern = "request(form)"; my $replacement = $1; print $str1,"/n"; if($str1 =~ s/$partt

2009-03-06 11:27:00 4889

原创 [Python]什么是浅拷贝,深拷贝

 浅拷贝是指拷贝的只是原对象元素的引用,换句话说,浅拷贝产生的对象本身是新的,但是它的内容不是新的,只是对原对象的一个引用。这里有个例子>>> aList=[[1, 2], 3, 4]>>> bList = aList[:] #利用切片完成一次浅拷贝>>> id(aList)3084416588L>>> id(bList)3084418156L>>> aList[0][

2009-03-06 11:26:00 1685

原创 [Perl]处理IO多路转接

 IO多路转接模型在"unix环境高级编程"里有重点讲到,其基本模型可以用这个典型的例子加以归纳:1) 要接收socket套接字传来的数据,并在标准输出上显示;2) 要接收标准输入,在标准输入上显示后发生到网络;这个例子在实际应用中很常见,比如我们使用的telnet客户端,或ssh客户端。编程上该如何处理呢?1)多进程:两个进程分别单独处理上面1)、2)中提到的事务

2009-03-06 11:25:00 583

原创 [Perl]用log4perl记录日志

 今天看到一个关于介绍log4perl用法的好东东,按照习惯,把其中的要点记录下来。logger 是用于产生日志的对象,其中三个重要的属性:1. Levels:用于定义日志内容的优先级,包括DEBUG, INFO, WARN, ERROR, FATAL;2. Categories: 用于定义是日志来自系统的那一部分;3. Appenders:用于说明你的日志输出到哪里;

2009-03-06 11:23:00 3700 1

原创 [Perl]pack/unpack函数--利用模板控制文字格式

 在chinaunix上看到用pack/unpack函数,利用模板格式化读取内容,觉得有点意思,于是去看了看perltutpack,很长,没有看完,这里只介绍最基本的场景和用法。假设你有这样一个文件:Date           |Description                       | Income              |Expenditure01/

2009-03-06 11:17:00 2474 1

原创 [Perl]用perl抓网页

 经常看到的是LWP::Simple这个模块,用它来抓网页最简单。昨天心血来潮,用了一把WWW::Mechanize,这个模块比LWP::Simple功能强大,可以把一个网页上的链接提出来,可以按正则表达式搜索文字,图片等。记得之前在水木上看到过一个常用Perl模块的列表,找到了也准备贴到这里,以后可能会有用得着的时候。

2009-03-06 11:16:00 810

原创 [Android]第一次提交代码

第一次使用google code,感觉不错,没遇到问题。环境:windows, eclipse, eclipse插件subversive, 同时也装了TortoseSVN,不过subversive应该够用了。用eclipse自带的wizard创建了一个工程,现在google code上的trunk终于不是empty了。第一次提交代码,也该纪念一下,2009年1月

2009-01-12 17:13:00 490

原创 [Perl] 用Perl解析JSON文件

最近接触了一种叫做JSON (JavaScript Object Notation) 的数据格式,官方的说法是“一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成“。 我的感觉是这个东东和XML之类的格式类似,总之当我们需要格式化地传输数据时,这些东西就可以起作用了。 关于JSON本身是怎么组织数据的,可以去这里。数据格式定义好了,剩下的事情就是用编程语言解析它

2008-12-30 17:31:00 3362

原创 [Perl] 几个Perl的小技巧

其实就是把小骆驼第五版的17章做了个中文摘要,这些高级技巧常常忘记,写一写希望能帮助自己加深记忆。1. 用eval获得程序的执行错误$a = 10;$b = 0;$c = $a/$b;会发生什么?程序会crash,因为有浮点数异常。用eval就可以做到两全,既执行语言,又能在出现异常的时候不crash$a = 10;$b = 0;eval {$c = $a/

2008-12-30 14:50:00 699

原创 [Linux] 与进程相关的ID

Linux下与进程相关联的ID有这么三种:1. 实际用户ID,实际组ID这在用户登录系统时就确定了2. 有效用户ID,有效用户组ID,添加组ID这一类ID决定着我们的进程运行时对文件的访问权限;添加组ID是说,一个用户可以属于多个组;3. 设置-用户-ID,设置-组-ID它们的作用是什么呢?简单的说就是让程序在执行时(exec)拥有一个和有效用户/组ID不同的副本。一个比较好的例子是程序passw

2008-12-24 14:00:00 886

原创 [Perl]Perl module的一些小结

Perl Module关于Perl module改如何使用,如何编写,现在初步有一些肤浅的体会,总结如下:1. 如何引用不在系统默认路径中的module?方法1:使用lib use lib qw (/your/path/to/module);貌似这几乎等价于BEGIN {unshift (@INC, LIST)}方法2:修改@INCBEGIN { unshift @INC, /home/roge

2008-12-18 11:35:00 963

原创 [Perl]获取shell命令的执行结果

Perl里可以调用Shell命令,有时需要根据shell命令的返回结果做进一步的工作,如何获得shell的执行结果?方法有很多:1. 重定向shell的标准输出或标准错误输出到某临时文件,然后再从临时文件中读出执行结果。这个办法的好处是可以把标准输出和标准错误输出分开保存!2. my $res = `ls`;这种方法很直接,也很想shell3. open( my $fh, "ls |") or d

2008-12-16 13:42:00 1709

原创 [Linux]rpm的配置文件

 生成的rpm包到底在/usr/src/readhat/packages 还是/usr/src/packages/RPMS?这取决于你主机rpm的配置,可以通过"rpm --showrc"查看rpm的配置。比如上面说的问题就在于你的rpmdir这个变量在rpm的配置文件中是什么。如果你希望修改某个配置变量的值,你可以去修改rpm的配置文件,/usr/lib/rpm/macros,

2008-12-16 13:37:00 1022

原创 [Linux]RPM包的依赖

 前不久遇到了RPM包默认存放位置的问题,今天又遇到RPM包依赖的问题。其实RPM包依赖关系早就不是新鲜话题了,现在RPM里有yum可以解决依赖,deb里有apt,这些都是比较熟悉的概念。今天的问题是,我们的一个模块需要打包成RPM后安装,之前的编译打包工作在US那边进行。现在我们接手,自己在一个RHEL4上建立的编译环境,RPM包也能顺利生成。可惜问题是安装的时候总是失败

2008-12-16 13:36:00 1989

原创 [Perl] Getopt::Long模块用法

 阅读perldoc.perl.org是最好的掌握模块使用方式的途径。还是那句话,20%的内容能够满足80%的需求,所以这个只是简单描述Getopt::Long的用法。1.选项可以保存在标量里   my $verbose = ;    # option variable with default value (false)    my $all =

2008-12-16 13:35:00 5726

原创 [Linux] VIM自动补全功能

 ctrl-n或者ctrl-p是vim里按关键字自动补全的快捷键。今天发现vim竟然对Perl也有很好的支持,默认配置下vim会在:1.当前文件的buffer2.其他窗口的buffer3.其他buffer4.ctags5.include头文件(也包括perl的模块)下进行关键字查找!perl的use就类似于c/c++的include,所以vim的自动补全支持在p

2008-12-16 13:34:00 1537

原创 [Perl] Data::Dumper模块的用法简介

Perl由于有了引用,使得我们可以在不同的数据结构之间灵活的嵌套数据结构。比方说,Hash的value可以是标量,也可以嵌套list,甚至还可以继续嵌套hash。这样使得我们写代码的确方便了不少,但有的时候我们希望对这些复杂的数据结构有个直观的感受,也就是说能够用perl的语法吧数据结构以及实际值表示出来。这在开发阶段尤其有用!正好Perl的模块Data::Dumper

2008-12-16 13:30:00 15754 3

原创 [Perl]如何使用perl对unicode的支持

 转载一篇好文,来自IBM DeveloperWorks功能丰富的 Perl: Perl 增强了对 Unicode 的支持其中可以学到binmode的用法,EOF的用法,以及unicode的相关用法。Perl的运行选项也最好加“-C”,显示支持utf8.和utf8相关的模块有utf8, Encode。如何判断一个字符是utf8编码还是非utf8编码?my $

2008-12-16 13:29:00 840

原创 [Perl]怎样判断一个字符是不是ASCII码

 主要还是看ASCII码的值,$str =~ m/[^/0-/127]/$str =~ m/[^/x0-/x7f]/要注意反斜线的作用,转义符,一定不要少!

2008-12-16 13:28:00 1611

原创 [Python]Unicode是什么东西

Unicode是什么东西,通常情况下我们不会被它困扰,但如果它引起了问题,我们往往找不到方向。找到了一个不错的Howto,而且结合了Python对unicode的处理,贴到这里,慢慢读,呼唤耐心。先把一些摘要翻成中文放在这里:1. 为什么会有Unicode?ASCII是我们最熟悉的编码方式,它用一个字节(8位)表示一个字符,但是它显示不能容下全世界各种不同语言(比如我们中文

2008-12-16 13:26:00 1699 1

原创 [Linux] rpm安装中的scriptlets

什么是scriptlet? google金山词霸告诉我它的中文含义是“脚本小程序”。什么rpm安装过程中的scriptlets又是啥呢?我们知道rpm安装过程中分为%pre-install %post等几个阶段,每个阶段都有一些辅助脚本,这些脚本就叫scriptlet如何你想知道你在安装rpm时背后到底执行了什么scriptlets, 可以使用这个命令rpm --query -

2008-12-16 11:57:00 356

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除