Perl 变量

Perl中有三种内置的变量类型:

  • Scalar(标量)
  • Array(数组)
  • Hash (散列)

标量:

$号是Perl变量指定符,指定变量类型为标量。标量代表一个单一的值,一个标量的值可以是字符串,整数或浮点数,Perl会自动转换成需要的类型。

数字的格式:

类型                 语法                      示例                       
整型 NN 89
浮点型 NN.NN 12.34
科学计数                                NN.NNeNN                                      23.04e-5
大数 NN_NNN_NNN 19_000_000
八进制 0NNN 0761
十六进制 0xNNNN 0xF9DA

字符串分为单引号字符串、双引号字符串、反引号字符串。

单引号字符串没有变量替换功能,反斜线不支持转义字符。双引号字符串有变量替换,和反斜线转义字符。

双引号反斜线转义字符表:

转义字符                                                      意义描述                                                        
\a 响铃
\b 退格
\cn Ctrl+n 做控制字符
\e ESC(ASCII编码的转义字符)
\f 跳页
\n 换行
\t 制表符
\r 回车
\l 将下个字符转为小写
\L 将到 \E 为止的所有字符转为小写
\u 将下个字符转为大写
\U 将到 \E 为止的所有字符转为大写
\Q 将到 \E 位置的非单词字符加上反斜线
\E 结束\L 、\U、 \Q
\007 任何八进制的ASCII(此处表示系统响铃)   

反引号字符是把引号直接的字符串解释为操作系统命令。如果要在一个程序中执行另一个程序,则可以使用反引号。

标量变量使用示例:

#!/usr/bin/perl

$animal = "camel";
$answer = 42;

print $animal;
print "The animal is $animal\n";
print "The square of $answer is", $answer * $answer ,"\n";

@号是Perl变量指定符,指定变量类型为数组。数组表示值的列表,数组是从零开始索引。数组使用示例:

#!/usr/bin/perl

@animaals = ("camel", "llama", "owl");
@animaals_1 = qw(camel llama owl);
@numbers = (1,2,3);
@numbers_1 = (1..3);
@mixed = ("camel",42,1.23);

print "@animaals\[email protected]_1\[email protected]\[email protected]_1\[email protected]\n";

print "$animaals[0] $animaals[1] $animaals[2]\n";

print "@animaals[0,1]","\n";
print "@animaals[0..1]\n";
print "@animaals[0..$numbers[0]]\n";

%号是Perl变量指定符,指定变量类型为散列。散列也叫哈希变量,哈希变量代表一组键/值对。散列的几种表示方式:

直接以数组的形式一次给出散列中的键和值
%map = ('red',0xff0000,'green',0x00ff00,'blue',0x0000ff);

以大括号的形式分别给出键和值
%map =  (); ##清空这个哈希变量
$map{red} = 0xff0000;
$map{green} = 0x00ff00;
$map{blue} = 0x0000ff;

用”=>“ 符号依次给出键和值对
%map = ();
%map = (
	red => 0xff0000,
	green => 0x00ff00,
	blue => 0x0000ff
); 

时间: 2025-01-04 16:29:11

Perl 变量的相关文章

Perl变量及用法

Perl的变量类型及用法 Variable types and their uses | Type       | Sigil | Example   | Is a Name For                          | |------------+-------+-----------+----------------------------------------| | Scalar     | $     | $cents    | An individual value 

perl 变量详解

http://www.perlmonks.org/?node_id=933450 use strict; use Devel::Peek; my $a; Dump($a); $a=4; Dump($a); $a eq "13"; Dump($a); $a++; Dump($a); print $a; Dump($a); ##</code><code>## C:\Users\ian>perl test.pl SV = NULL(0x0) at 0x1d9ec

Perl 变量:标量变量

Perl 标量标量是一个简单的数据单元.标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页. 1.数字标量标量通常是一个数字或字符串. 2.字符串标量以下实例演示了不同类型的字符串标量的使用,注意单引号和双引号的使用区别.(单引号内字符原样输出,双引号做特殊字符处理) 3.特殊字符以下我们将演示 Perl 中特殊字符的应用,如 __FILE__, __LINE__, 和 __PACKAGE__ 分别表示当前执行脚本的文件名,行号,包名.注意: __ 是两条下划线,__FILE__

操作指定文件格式的10个Perl CPAN模块

在Perl开发中,很可能会碰到一些不同格式的文件--XML.PDF.CSV及RSS文件等,和一些不同的二进制数据格式.Perl应用程序需要操作这些文件,对它们进行读写. 此时,可以求助于全面Perl档案网络(CPAN),简化文件操作工作.CPAN拥有数量庞大.用于处理不同文件格式的Perl模块.本文列出了10个这样的模块,开发人员可以使用它们对自定义文件格式进行操作. 包名 描述 DBI 此模块提供了不依赖数据库的包装,允许Perl与数据库进行通讯.它支持数据库连接和管理,支持执行查询.事务.存

浅谈Perl的类、包、模块与面对对象编程

http://blog.chinaunix.net/uid-27464093-id-3308003.html Perl面向对象 Perl面向对象学习例子实例代码教程 - 在我们了解perl的面向对象的概念开始之前,让我们了解引用和匿名数组和哈希表. 在我们了解perl的面向对象的概念开始之前,让我们了解引用和匿名数组和哈希表. 引用 引用是完全像名称所暗示的一样,给另一个对象的引用或指针. 有两种类型的引用:符号和硬引用. 一个符号参考,使您能够引用一个变量的名称,使用另一个变量值. 例如,如果

Perl:perl编程要注意的问题。

这里归纳一下用perl语言编程需要注意的问题. 1. 由于哈希值是没有先后次序的,所以哈希函数返回的值都是经过sort的,而非哈希赋值时的状态.例如: my %hash2=( 'ten' => 10, 'fiirt' => 1, 'second' => 2, 'third' => 3, 'fouth' => 4); print keys %hash2; ---result----- fiirtsecondthirdfouthten 使用哈希函数each,获得结果也是经过sor

Perl 教程

Perl 教程PerlPerl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言".Perl 是高级.通用.直译式.动态的程序语言.Perl 最初的设计者为拉里·沃尔(Larry Wall),于1987年12月18日发表.Perl 借用了C.sed.awk.shell脚本以及很多其他编程语言的特性.Perl 最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN.谁适合阅读本教程?本教程

Perl的调试方法

来源: http://my.oschina.net/alphajay/blog/52172 http://www.cnblogs.com/baiyanhuang/archive/2009/11/09/1730726.html 1. Perl自带的调试器(功能最全,就是最烦) Perl调试器的用法: 缺省的Perl调试器就是perl解释器本身,另外还有图形界面的调试器.因为我们在开发 程序时一般都使用telnet访问服务器,所以这里主要介绍一下缺省的命令行调试器的用法.用 -d 命令行选项启动Pe

面向过程1---------定义变量,基本数据类型

js:  var  a_name -----var a; c:   type  a_name-----char a; int a;float a; double a;void; c++:type a_name-----int a;float a; python: 不需要指明变量类型  a=100; java:type  a_name-----int a; ruby:全局变量以$开头,实例变量以@开头:类变量以@@开头,局部变量以小写字母或者_开头,常量以大写字母开头,不能定义在方法块内: 另外,