变量
有3种类型:
1.普通变量 2.数组 3.散列 4.系统变量
一.普通变量常量
[oracle@localhost ~]$ cat perl01
#!/usr/bin/perl
use constant b=>"狼";
$a="我是一个人\n";
print $a;
print b."\n";
#其中b就属于常量,而$a就属于普通的变量;
二.数组
也属于普通变量,只是它是一批变量同存在一个地方的数据结构
(1).普通变量
[oracle@localhost ~]$ perl -e'
@arr=('aaa','bbb','cccc');
print $arr[0]."\t",$arr[1]."\n";
'
aaa bbb
(2).文件变量
[oracle@localhost ~]$ perl -e'
open(FL1,"data");
@arr=<FL1>;
print $arr[0],$arr[1];
close(FL1);
'
8;
1;
[oracle@localhost ~]$ cat data
8;
1;
99;
#应用场景
三.HASH
#以数组类似,只是HASH下标可以用字符而不仅仅是数字
[oracle@localhost ~]$ perl -e'
%hash1=( #注意此处要用(..)
'red'=>'red',
'yellow'=>'yellow'
);
print $hash1{'red'}."\n";
'
从上处例子中可以看出
1.结构%hash=(...,...,...); #其中...可用单引或双引括起;
2.引用时候$hash{'key'}; #其中key可用单引或双引括起;
四.系统变量
#以下为网上转载的内置变量内容
出处为:http://www.freeoa.net/development/perl/perl-common-use-fun_329.html
$- 当前页可打印的行数,属于Perl格式系统的一部分
$! 根据上下文内容返回错误号或者错误串
$” 列表分隔符
$# 打印数字时默认的数字输出格式
$$ Perl解释器的进程ID
$% 当前输出通道的当前页号
$& 与上个格式匹配的字符串
$( 当前进程的组ID
$) 当前进程的有效组ID
$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.
$, 当前输出字段分隔符
$. 上次阅读的文件的当前输入行号
$/ 当前输入记录分隔符,默认情况是新行
$: 字符设置,此后的字符串将被分开,以填充连续的字段.
$; 在仿真多维数组时使用的分隔符.
$? 返回上一个外部命令的状态
$@ Perl解释器从eval语句返回的错误消息
$[ 数组中第一个元素的索引号
$\ 当前输出记录的分隔符
$] Perl解释器的子版本号
$^ 当前通道最上面的页面输出格式名字
$^A 打印前用于保存格式化数据的变量
$^D 调试标志的值
$^E 在非UNIX环境中的操作系统扩展错误信息
$^F 最大的文件捆述符数值
$^H 由编译器激活的语法检查状态
$^I 内置控制编辑器的值
$^L 发送到输出通道的走纸换页符
$^M 备用内存池的大小
$^O 操作系统名
$^P 指定当前调试值的内部变量
$^R 正则表达式块的上次求值结果
$^S 当前解释器状态
$^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间
$^W 警告开关的当前值
$^X Perl二进制可执行代码的名字
$_ 默认的输入/输出和格式匹配空间
$| 控制对当前选择的输出文件句柄的缓冲
$~ 当前报告格式的名字
$` 在上个格式匹配信息前的字符串
$’ 在上个格式匹配信息后的字符串
$+ 与上个正则表达式搜索格式匹配的最后一个括号
$< 当前执行解释器的用户的真实ID
$ 含有与上个匹配正则表达式对应括号结果
$= 当前页面可打印行的数目
$> 当前进程的有效用户ID
$0 包含正在执行的脚本的文件名
$ARGV 从默认的文件句柄中读取时的当前文件名
%ENV 环境变量列表
%INC 通过do或require包含的文件列表
%SIG 信号列表及其处理方式
@_ 传给子程序的参数列表
@ARGV 传给脚本的命令行参数列表
本文介绍了Perl语言中的四种变量类型:普通变量、数组、散列和系统变量。详细讲解了每种变量类型的定义、使用方法及应用场景,并列举了部分Perl内置系统变量。
1001

被折叠的 条评论
为什么被折叠?



