Perl中的bless的理解】的更多相关文章

bless有两个参数:对象的引用.类的名称. 类的名称是一个字符串,代表了类的类型信息,这是理解bless的关键. 所谓bless就是把 类型信息 赋予 实例变量. [xywang@mnsdev13:~]$ cat Person.pm #!/usr/bin/perl -w package Person; use strict; sub sleep() { my ($self) = @_; my $name = $self->{"name"}; print("$name…
bless有两个参数:对象的引用.类的名称. 类的名称是一个字符串,代表了类的类型信息,这是理解bless的关键. 所谓bless就是把 类型信息 赋予 实例变量. 程序包括5个文件:person.pm :实现了person类 dog.pm :实现了dog类 bless.pl : 正确的使用blessbless.wrong.pl : 错误的使用blessbless.cc : 使用C++语言实现了与bless.pl相同功能的代码 person.pm CODE:#!/usr/bin/perl -wp…
#!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并把其中的元素打印出来,这里需要注意的是foreach循环部分,foreach循环的标准格式应该是: foreach $element (@array){ ...... } 其中数组@array将其中的元素依次赋值给$element,但是在上面那个程序中,我并没有这样做,在程序中,我就使用到了perl中内置的一…
来源: http://www.jb51.net/article/35528.htm perl中our的用法require 5.006当版本号小于 5.006 的时候,会返回失败,从而导致模块加载失败.所以它的作用就是保证模块调用环境的 Perl 版本. our 和 my 一样,都是对变量的声明,不过 our 声明的是包全局变量,而 my 声明的是词法变量. 不过,经过 our 声明的变量,它会变得像一个词法变量一样,其实这也是 our 存在的目的:用来欺骗 strict pragma,使 str…
perl中的上下文 在perl中,很多地方会切换上下文.所谓上下文,它的重点在于同一个表达式出现在不同地方,得到的结果不同.换句话说,同一个表达式,它表达的值不是固定的.这就像是同一个单词,在不同语境下的意思不同. 例如,运算操作符决定数值是一个数字还是一个字符串. 2 * 3 2 x 3 2 * 3中的2和3都是数值,因为操作符*是算术运算符,它要求两边都是数字.而2 x 3中的2是字符串,3是数字,因为操作符x是这样要求的. 还有,对数组@arr的两种操作: @arr=qw{perl,pyt…
本文上接SQL SERVER 2005/2008 中关于架构的理解(一)      架构的作用与示例 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQL SERVER 2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,不必要大费周章地更改该用户所有的对象属于新的用户所有.另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容易区别.也就是说,在单一数据库内,不同部门或目的的对…
SQL SERVER 2005/2008 中关于架构的理解(一) 在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无效.”.当带上了架构名称之后(如“cus.CustomEntry”),却又能查询到表中的数据了,但是查询语句是已经写死在了应用程序中的,如果要进行更改,就有很大的工作量, 这是一件很郁闷的事情.于是想从数据库层面上解决此问题,在查询了大量的资料之后,对于SQ…
转自:http://c20031776.blog.163.com/blog/static/684716252013624383887/ Perl 程序中,正则表达式有三种存在形式 分别是 (1 模式匹配:m/<regexp>/     #平时我们简写 /<regexp>/ ,略去m, 三个参数 /i不区分大小写   /s匹配任何字符    /x添加空格  /o 不重复编译正则表达示 (2 模式替换:s/<pattern>/<replacement>/ /g …
在Perl中使用s///进行替换操作,与m//进行查找操作类似. s/with (\w+)/against $1's team/;      ##第一个双斜线,表示被替代的文本.第二个双斜线,表示将替代为的文本. s///可以有不同的定界符,但是必须保证两对字符.一对包住模式,一对包住替换字符串. s#^https://#http://#;                    ##使用#号,分别包住模式和替换字符串. s{}();                                …
在Perl中,匹配的定界符如果是双斜线//,可以直接使用双斜线完成匹配操作. 如果特定条件下需要改变定界符,如改为{},[]等.需要加入m,m{},m[]等. m%^http://% 默认的模式匹配对象是自动化变量$_,如果要指定匹配对象,可以使用绑定操作符=~. my $some_other = "I have a Dream"; if($some_other =~ /\brub/);    ##用右侧的模式对左侧的对象进行匹配. 模式匹配修饰符: /i表示大小写无关的匹配. /s表…