Perl学习笔记(一)--变量

Shell向Perl脚本中传递变量的方法 方法一:In shell using export  to output a variable, and in perl using special variable %ENV to get shells variables.i.e.:--- shell box---$ /bin/ksh# export x=Foo# perl -e print $ENV{"x"}---------- 阅读详情

标量可以存放的数据类型有很多,除了常用的字符串和数字外,还可以存放引用, 而引用则可以是任何类型数据的引用.
比如:
@array = (1, 2, 3);
$ref = /@array; #创建一个对数组array的引用
注意引用的使用方法是, 在所引用的对象前面加上/,而在解引用的时候需要记住的是引用是一个标量,所以$ref表示的是一个引用, 要继续解释该引用所引用的数据还需要根据引用的数据类型进一步加以解释,比如:
如果标量$ref引用的是一个数组, 那么: $ref->[0], 或者$$ref[0], 或者$($ref)[0], 都是取得该数组的第一个元素.
如果标量$ref引用的是一个Hash表, 那么: $ref->{key}, 或者$$ref{key}, 或者$($ref){key}, 都是取得该Hash表中键为key的value.
如果标量$ref引用的是一个函数, 那么: &$ref, 或者&($ref), 都是取得对该函数的调用.
为了方便理解记忆Perl中的引用使用方法,可以把$ref理解为所引用之物的名字, 比如$$ref[0]中, 将$ref理解为array, 那么$$ref[0]可以解释为$array[0].或者, 用C中指针的方式来理解Perl中引用->符号的使用, 将$ref理解为一个"指针", 而在->右边, 需要根据所引用的类型进行解释, 比如数组就是[], Hash表就是{}, 等等.

列表与数组
<<Perl语言入门>>(小骆驼)中介绍数组的那一章开始部分说的很明白:列表是数据的序列, 而数组是变量.比如:
@array = (1,2,3);
array是一个数组, 它是一个变量;而(1,2,3)则是一个列表, 它是由标量1,2,3组成.

Hash
Hash表在赋值的时候常采用如下的方式:
%hash = (key=>value);
在Perl中, 使用一个列表对Hash进行赋值, 分别是key1 value1 key2 value2...依次类推, 也就是说, 当采用一个列表对Hash进行赋值操作的时候, 键/值是交替出现的, 而在Perl中"=>"和","的意义是一样的, 放在对Hash进行赋值的列表中, 增加了代码的可读性.
同时注意到, 在Perl中, Hash的键都是字符串, 但是在{}之中的的键可以不加""或者''号, 比如$hash{key}, $hash{"key"}, $hash{'key'}都是一个意思.

在Perl中, 如果仅需要取得一个数据的时候, 需要采用$符号.标量自不必解释, 对数组而言, $array[0]是取得第一个数组元素, 而对Hash而言, $Hash{key}是取得键为key的值.
而要取得数组或者Hash中的部分元素时,使用@符号, 如@array[0,1]返回数组array中的第一和第二个元素组成的列表, @hash{key1, key2}返回hash中键为key1, key2的值组成的列表.注意没有%hash{key1}这样的语法, 如果要取得所有的数组,使用@array;如果要取得全部Hash中的元素, 包括key和value,则使用%hash.

变量的内插(Interpolating)
当把一个数组变量在""中内插的时候, 则将该数组中的各个元素用变量$"(通常是空格)分隔开组合成一个字符串, 因此:
$temp = join( $", @ARGV );
print $temp;

和
print "@ARGV";
的意义是一样的.
而如果一个数组不放在""中进行内插的话, 仅仅返回这个数组的所有元素组成的列表,如:
@array = (1,2,3);
print @array;
得到的是:123(注意123之间没有空格分隔).

不存在对整个Hash的内插, 比如变量hash是一个Hash表, 那么:
print "%hash";
仅仅打印出%hash, 它并没有针对该Hash进行内插.
变量内插仅仅针对$和@作用的变量.
Perl中foreach循环变量 看下面代码: #!/usr/bin/perl -w my $x = 1; for $x (5 ... 8){ print "In the for loop, \$x=[$x]\n"; } print "\nOut of for loop, \$x=[$x]\n"; [/perl] 输出结果如下: [perl] $ ./test.pl In the for loo 阅读详情

相关推荐

perl语言中的变量类型

perl语言中的变量类型 PERL 学习中总结

Perl知识点小结

Perl的一些小语法

qq_43213454的博客 533

AD9361数字调制入门:从IQ调制原理到动手实现第一个ASK信号(Vivado工程详解)

本文详细介绍了如何使用AD9361射频收发器实现ASK数字调制,从IQ调制原理到Vivado工程实现。通过Verilog代码示例和FPGA架构设计,帮助开发者理解纯逻辑实现数字调制解调的关键技术,特别适合软件无线电(SDR)初学者入门实践。

weixin_29158047的博客 374

无涯教程-Perl - print函数

无涯教程网提供描述此函数将LIST中的表达式的值打印到当前的默认输出文件句柄或FILEHANDLE指定的句柄...此函数将LIST中的表达式的值打印到当前的默认输出文件句柄或FILEHANDLE指定的句柄中。print接受一个值列表,列表中的每个元素都将被解释为一个表达式。Perl 中的 print函数 - 无涯教程网。如果设置,则$\变量将添加到LIST的末尾。如果失败,此函数返回0,如果成功,则返回1。如果LIST为空,则打印$_中的值。以下是显示其基本用法的示例代码-以下是此函数的简单语法-

无涯教程 1090

STM32—时钟树(结合系统时钟函数理解)

时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处。心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来驱动,而这个脉冲的始源往往是由外部晶体振荡器提供时钟输入,最终转换为多个外部设备的周期性运作。这种时钟“能量”的传递路径犹如大树的养分由主干流向个分支,因此称为时钟树。 STM32时钟: 在STM32...

肥宅快乐博客 1万+

LLaMA-Factory微调教程2:命令行sft微调

本文介绍了如何使用llama-factory项目在本地运行Qwen2-7B大语言模型进行对话。首先通过llamafactory-cli env查看环境配置,然后使用git lfs下载Qwen2-7B模型。创建配置文件qwen2_7b_instruct.yaml,修改模型路径和模板参数。最后通过llamafactory-cli chat命令启动对话服务,加载模型配置文件和tokenizer,完成环境初始化后即可进行交互式对话。

Cachel Wood的博客 8814

perl 语言(变量类型)

perl之变量类型 perl 语言将变量类型分为标量,数组和哈希,perl在定义变量时会先加入一些符号来代表他们的类型。标量用$, 数组用@,哈希用% #!/usr/bin/perl $age = 25; # 25 print "$age"; # $age = 25 print "/$age = $age\n"; @animals = ("Cat","Dog","fish","rice"); # ...

weixin_44935881的博客 854

手把手教你学SOME/IP「3.2.1.发布/订阅行为」

本文详细介绍了SOME/IP协议中的服务发现机制,重点解析了发布/订阅行为的流程。主要内容包括:1)服务发布与Method通信流程,涵盖find/offer报文交互、TTL保活机制及异常处理;2)服务订阅与Event通信流程,包括subscribe/ack报文交互和组播延迟机制;3)特殊场景如快速发送、半周期回复、重置订阅等机制。通过邮局订阅报纸的类比,帮助理解服务发现的核心原理,并强调流程图对于问题定位的重要性。文章为SOME/IP协议的工程实现提供了实用指导。

nihaoljq2010的博客 1221

Perl入门学习(二)变量的赋值与读取

perl的变量简介

m0_61544122的博客 2978

智能绿植管家:基于 ESP32 的室内植物自动补光与环境调控系统

本文设计的基于 ESP32 的室内植物自动补光与生长环境调控系统,实现了植物生长环境的自动化、智能化管理。硬件选型合理、接线简单,软件逻辑清晰、易于调试,能够有效解决室内植物生长环境不适的问题。系统具备良好的实用性和扩展性,可为园艺爱好者和小型培育场所提供稳定、高效的植物养护方案。

weixin_42300449的博客 146

复现基于混频因子模型的GDP即时预测方法

基于混频因子模型的GDP即时预测方法复现 本文复现了混频因子模型(MIDAS)在GDP即时预测中的应用。该方法整合7个月度宏观经济变量(工业增加值、CPI、PMI等)与季度GDP数据,通过状态空间模型实现高频预测。技术实现包括:1)使用PCA提取潜在共同因子;2)构建状态空间模型处理混频数据;3)通过卡尔曼滤波进行参数估计。实证结果显示模型预测效果良好(测试集R²=0.82),其中工业增加值对因子1贡献最大(0.82),CPI对因子2贡献显著(0.78)。该方法为决策者提供了更及时的季度GDP估算。

huanghm88的专栏 600

一些Perl例程(全部手打并执行过)

#-1-变量使用,打印#!/usr/local/bin/perl$value=100+30+3+8;print("Value=",$value,"\n");#-2-变量使用,打印#!/usr/local/bin/perl$value=1024;$sentence="The value of \$value is $value.\n";print($sentence);#-3-多次打印#!/usr/...

weixin_34293902的博客 428

利用autojs制作抢购支付宝消费劵的手机脚本

前期准备工作 1.打开支付宝,点击中间的抢消费券的广告 2.点击左上角,将抢购页面添加到首页 3.查看支付宝首页是否出现消费劵 . autojs代码 "auto"; functiontaskstart(){ sleep(1000); launchApp('支付宝'); toast("正在打开支付宝应用"); sleep(1000); varxf=textContains("消费").findOne().bounds(); ...

洛阳泰山的博客 1万+

Perl学习笔记(一)——变量

Perl学习笔记(一) 注:学习笔记来源于Superor的Perl教程视频,附链接。 第1集:第一章 Perl的概述 link 第2集:第二章 Perl的简单变量link 第3集:第二章 Perl的字符串变量link 第4集:第二章 字符串变量和小结link 1. 注释 单行: #codes 多行:POD方法 =pod codes to comment =cut 2.变量 $标量:由字母/下划线/数字组成(首字符字母或者下划线),区分大小写,长度不限; @数组 %哈希 文件:大写 3.数值变量 整数的

weixin_43388842的博客 323

用Excel或WPS做两独立样本的T检验

一般情况下收集数据时常用的是Excel或者WPS,但统计时却用SPSS等软件进行统计学分析,经常很多人找不到SPSS的安装包,或者苦于正版激活或忘记教程,其实Excel或WPS自带函数就足够了,均数、标准差以及统计检验都是一个函数而已。解释:先做F检验,如果F>0.05就做T检验,Ttset里的数据为两组的数据的比较,结果如下。A组的均数计算 =AVERAGE(B2:B6)A组的标准差计算 =STDEV(B2:B6)B组的标准差计算=STDEV(B7:B19)分组 数值 A组均数 A组标准差 p值。

Mrrunsen的博客 6751

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

perl学习笔记一----变量

变量一. 直接量---常量perl中常量和其他语言例如C语言没什么太大区别。所以在下面指出一些与其他语言不相同的地方。1.1 数字常量  在perl中可以表示八进制和十六进制。八进制以0打头,十六进制以0x打头。  例如 $a=010 ---八进制       $b=0x10---十六进制为了不跟八进制的数字混淆,数字直接量均不以0打头。对于大数字,通常会加逗号或下划线加以区分perl可以直接删除

成长专栏 1396

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Perl学习笔记(一)变量的认识

Perl标量的学习   任何语言都有变量,变量在Perl中简单的分为标量和组数变量. 标量:表示单个的量,即英文中所说的单数. 例如: $name = "Hello"';          $age=18;         $price =123.88;         $price=343_333_333.898; 都是一个标量,Perl对数字标量在计算机中采用浮点数形式存贮。通常浮点数的精度...

xzquan的博客 205

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Perl 变量

变量是存储在内存中的数据,创建一个变量即会在内存上开辟一个空间。解释器会根据变量的类型来决定其在内存中的存储空间,因此你可以为变量分配不同的数据类型,如整型、浮点型、字符串等。上一章节中我们已经为大家介绍了Perl的三个基本的数据类型:标量、数组、哈希。Perl 为每个变量类型设置了独立的命令空间,所以不同类型的变量可以使用相同的名称,你不用担心会发生冲突。例如 $foo 和 @foo 是两个不同的变量。

lingjierui的博客 1649

Perl 对@INC变量的了解

perl中的INC变量中包含了所有的perl module的查找路径。 可以使用perl -V 来查看INC的值。 1)默认地INC如下: @INC: C:/Perl/site/lib C:/Perl/lib . 2)设置环境变量PERL5LIB来增加到INC,例如: set perl5lib=c:\perllibs 在设置perl5lib后如下, %ENV: PERL5LIB="c:\perllibs" @INC: c:\perlli...

duanhwonline的专栏 2210

[Perl] Perl 特殊变量

perl的特殊变量还有很多的,例如常用的还有@_、@ARGV、$ARGV、%INC、%ENV等。$-      当前页可打印的行数,属于Perl格式系统的一部分$!      根据上下文内容返回错误号或者错误串$”      列表分隔符$#     打印数字时默认的数字输出格式$$      Perl解释器的进程ID$%     当前输出通道的当前页号$&      与

bji129的专栏 3865

perl语言中变量_在Perl 6中变量的命名方式

perl语言中变量 在本系列的前四篇文章中,比较了Perl 5和Perl 6,我们研究了在迁移代码时可能遇到的一些问题, 垃圾回收的工作原理, 容器为何替换引用以及在Perl 6中使用(子例程)签名以及如何这些与Perl 5不同。 在这里,第五篇文章中,我们将着眼于细微的差别印记的Perl 5和Perl 6之间(在变量名的开始符号)。 概述 让我们从Perl 5和Perl 6的概述开...

cumo3681的博客 701

Perl 特殊变量

Perl 语言中定义了一些特殊的变量,通常以 $, @, 或 % 作为前缀,例如:$_。很多特殊的变量有一个很长的英文名,操作系统变量 $!可以写为 $OS_ERROR。如果你想使用英文名的特殊变量需要在程序头部添加。这样就可以使用具有描述性的英文特殊变量。最常用的特殊变量为 $_,该变量包含了默认输入和模式匹配内容。

Kandy1iu的博客 978

linux perl脚本 变量吗,Perl语法之解析Perl变量使用

本文和大家重点讨论一下Perl语法中Perl变量的概念,Perl变量分为标量变量,数组变量,联系关系数组变量3类.Perl的变量对巨细写敏感,好比:An,AN,an是3个分歧的变量,可是分歧范例的变量可以利用统一个名字。Perl语法简介1.Perl变量1.1.Perl语法中Perl变量分类Perl变量分为标量变量,数组变量,联系关系数组变量3类.Perl的变量对巨细写敏感,好比:An,AN,an是...

weixin_35825868的博客 611
上一篇: C#命名规则和开发习惯
下一篇: Perl语言总结
suacker
博客等级 码龄24年 46粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值