加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl基础知识04【变量】

发布时间:2020-12-16 00:11:05 所属栏目:大数据 来源:网络整理
导读:变量 有3种类型: 1.普通变量????? 2.数组????? 3.散列?? 4.系统变量 一.普通变量常量 [oracle@localhost ~]$ cat perl01 #!/usr/bin/perl use constant b="狼"; $a="我是一个人n"; print $a; print b."n"; #其中b就属于常量,而$a就属于普通的变量;? 二.数

变量

有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???? 传给脚本的命令行参数列表

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读