perl语言中的变量有以下五种:
标量,指针,数组,哈希表(hash)和句柄。
一、标量
我们先来看看标量,标量是perl语言中最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。在使用时在变量的名字前面加上一个“$”,表示是标量,相当于scalar中的第一个S。
使用以下格式进行定义:
$myfirst= 123; # 数字 123
$mysecond="123"; # 字符串123
$mythird= "$myfirst,$mysecond"; # 字符串123,123
$myforth= '$myfirst,$mysecond'; # 字符串$myfirst,$mysecond
数字类型的标量可以使用0开头代表是8进制,用0x开头代表是16进制。例如:
$var1= 017; # 十进制的15
$var2= 0xf; # 十进制的15
还可以使用下面的格式:
$var3= 123_456_7; # 1234567
浮点数可以使用以下定义方式:
$var4= 3.4;
$var5= 4.3e+21;
$var6= 234E345;
perl中的字符串使用一个标量来表示,定义方式和c很像,但是在perl里面字符串不是用0来表示结束的。而且使用双引号和单引号定义的字符串是不一样的。使用双引号定义的字符串里面出现的变量名会进行替换,而且可以出现“\n\r\t”等控制字符。而用单引号定义的就不可以了使用反斜杠引导的控制命令了(当然还可以使用反斜杠引道单引号和反斜杠),文本会按照字符串原来的样子保存。
但是用单引号定义可以使用多行文本,如下所示:
$var7='这是一个使用
多行字符串文本
的例子';
$var8= '\'\\'; # 字符串'\
二、数组
在Perl中数组使用“@”引导,“@”的意义应该是相当于array中的第一个a吧(嘻嘻,猜的)。数组初始化使用()。我们可以采用如下方法初始化数组:
@var9=(1,2,3,4,5);
而当引用数组中的元素时则使用下面的格式:
$var10=$var9[1];
数组前面的引导字符变成了“$”,表示这里是引用数组中的元素。
如果使用“@”作引导字符,那么刚才的例子就会返回数组的长度。例如:
$length=@var9; # 则$length会返回数组长度也就是数组的元素个数5
三、哈希表(hash)
哈希表是一种很特别的数据结构,我在学习数据结构时见过,叫做散列(Set),在使用perl之前,我在borland C++中见过一种类似的class,也叫做Set。在JavaScript中也提供了相似的数据结构,叫做关连数组Associated Array。
哈希表用“%”引导。定义方法如下:
%var11=("hello"=>"哈罗","nihao"=>"你好");
使用方法如下:
print $var11{"hello"}; # 输出 哈罗 $var11{"nihao"}="你好";
还可以使用下面的方法定义:
%var12= ("hello","哈罗","nihao","你好");
这个方法的结果与上面的结果相同,但是我还是喜欢第一种方法,而且建议你也使用第一种方法。
四、句柄
句柄是一种特殊的数据,用来保存系统资源的指针,例如文件,目录,管道,socket等等。在最新的perl中,实际上可以不使用这种数据。句柄类型没有引导字符。一般情况下大家习惯使用大写字母来标明句柄类型。例如下面的例子打开一个文件,读出一行,然后关闭。
open(FILEHANDLE,"test.htm");
$templine=<FILEHANDLE>;
close(FILEHANDLE);
这里<>起从句柄中读出一行的作用。
五、指针
perl里面的指针分为两种类型,一种成为软指针,另一种称为硬指针。下面将主要介绍一下硬指针。在perl里面使用“\”来生成指针。如下面的例子:
$vavr13="hello";
$pointerto=\$var13;
这时$pointerto就是一个指向$var13的指针了。访问指针指向的数据可以使用下面的方法。print $$pointerto; 也就是加上一个$就可以了。perl里面的指针与c里面的不同,perl里面的指针是有引用计数的。也就是说,如果一个数据可以记住自己被几个指针引用,当没有指针引用时这个数据会自动释放内存。
分享到:
相关推荐
* Perl语言的变量:Perl语言的变量可以是标量、数组、哈希等多种类型,变量可以通过赋值来实现。 * Perl语言的数据类型:Perl语言的数据类型包括标量、数组、哈希、引用等多种类型。 * Perl语言的运算操作符:Perl...
文件列表中的“aspsun.com-readme.txt”可能是手册的阅读指南或版权信息,而“Perl语言参考手册(中文html)”则是手册的主体部分,包含完整的Perl语言知识体系。通过深入学习和实践,你可以掌握Perl语言,从而解决...
Perl语言在生物信息学中的应用学习教案 Perl 语言是实用摘录和报告语言(Practical Extraction and Report Language),但它其实不是缩写。 Larry Wall 创建了 Perl 语言,它有着悠久的历史。 Perl 语言在生物信息...
另一方面,《Perl语言入门》可能更适合初学者,它通常会从Perl的基本语法开始,包括变量声明、控制结构(如if-else,循环)和函数。书中可能会介绍如何打印输出,读写文件,以及简单的文本处理。正则表达式,虽然在...
Perl语言是一种功能强大的脚本编程语言,以其灵活性和在文本处理方面的强大能力而闻名。它在1987年由Larry Wall开发,自那时起,Perl已经广泛应用于系统管理、网络编程、网页开发、生物信息学等多个领域。 ...
Perl语言是一种功能强大的脚本编程语言,以其在文本处理、系统管理、网络编程以及Web开发中的广泛应用而闻名。本教程将带你逐步了解Perl语言的基础知识,帮助你从入门到掌握。 首先,Perl语言的设计理念是“实用胜...
Perl 语言的主要内容包括变量类型、控制结构、子程序、文件的操作、正则表达式、智能匹配、字符串的操作、输入与输出、进程的管理、第三方模块的使用等。 第一个 Perl 程序 用户可以使用 Perl 语言编写第一个程序...
·perl的变量类型 ·子程序 ·文件的操作 ·正则表达式 ·字符串的操作.. ·列表与排序 ·进程的管理 ·智能匹配 ·第三方模块的使用 有些人只是想要完成任务,perl语言为此而生。perl的最初目标只是为了协助unix...
在本书《PERL语言编程.pdf》中,首先会介绍Perl的基本概念。在“Perl概述”章节中,作者从最基本的概念出发,讲解了Perl语言的基本语法和编程思想。其中,变量语法介绍了Perl如何定义和使用变量;单数变量和复数变量...
通过学习这个Perl语言中文教程,你将能够掌握Perl的基本语法和高级特性,从而在芯片设计或其他相关领域中更加高效地使用Perl解决实际问题。无论你是完全的新手还是有一定编程经验的开发者,这个教程都将是你提升技能...
"Perl_examples"这个压缩包可能包含了各种Perl编程的实例,旨在帮助学习者深入理解和掌握Perl语言的语法和架构。以下是对Perl语言及其相关知识点的详细介绍: 1. **变量与数据类型**:Perl支持多种数据类型,包括...
Perl语言的特点在于其语法灵活,允许程序员以多种风格编写代码,这被称为"Perl哲学"——"There's more than one way to do it"(TIMTOWTDI)。这种灵活性使得Perl能够适应各种编程任务,但同时也可能造成代码可读性...
Perl是一种强大的文本处理和脚本编程语言,由Larry Wall在1987年推出。它以其灵活的语法和丰富的功能库而闻名,尤其适合处理文本...通过深入研究这些问题集和相关材料,可以更好地掌握Perl语言,解决实际工作中的挑战。
总的来说,“perl语言入门资料,函数大全”这份压缩包文件将引导你深入了解Perl的基本语法、常用函数、数据类型、控制结构以及错误处理。通过深入学习和实践,你将能够熟练运用Perl解决实际问题,无论是简单的文本...
第二章节介绍了perl语言中的标量数据类型,包括数字和字符串的概念及其操作。在这个部分,读者将学习到数字的内部格式、浮点数和整数的区别、非十进制整数的使用以及数字操作符。对于字符串,本章节会讨论单引号和双...
整型是最常见的简单变量类型,可以进行数学运算,例如将数值分配给变量$x,然后进行比较或计算。需要注意的是,虽然Perl中的整数在内部可能存储为浮点数,但在大多数情况下,整型操作不会受到影响。 此外,Perl还...