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.数值变量

  • 整数的表示:
    1_200_000可以用下划线分割字符,分割位数不定
    012:首位0代表八进制 0x1f:首位0x代表十六进制
    整数限制15位有效数字,16位之后截断
  • 浮点的表示:
    11.4 -0.3 .3 3. 5.4e2:e/E都可以,+/-,1-3位数字
    指数范围-309-308,
    注意精度问题
    $val=9.01e21 + 0.01 - 9.01e21; #结果为0
    $val=9.01e21 - 9.01e21 + 0.01;#结果为0.1

4.字符串变量

  • 双引号:支持替换、支持转义字符;
   $str="short";
   $string="long";
   print "str is $str\n";#str is short
   print "str is $string\n"; #str is long 匹配长的字符串
   print "str is ${str}ing\n";#str is shorting

转义字符

	print "bell ring: \a\n";
	print "back#\bspace\n";#\b退格  输出为backspace
	print "copy\rabc\n";#\r回车表示回到最开头
	print "abc\tdef\n";#abc     def
	print "the \$var\n";#the $var
	#\取消字符($ \ ")含义
	print "a quote \" in string\n";#a quote " in string
	print "a quote \\ in string\n";#a quote \ in string
	print "\045\n";#\nnn八进制表示的ASCII码  输出% 
	print "\x25\n";#\xnn十六进制表示的ASCII码  输出%
  • 单引号:不进行变量替换、转义、可以跨行;
    \ 的作用:字符串中有单引号或者有\时候:
	$var=111;
	print 'the \$var\n';#the \$var\n
	print 'this is the first line,
	this is the second line';
  • 特殊表示
    qq(string in qq): 相当于“string in qq”
    q(string in q): 相当于’string in qq’
    ()可替换为<>,{},[],//,;;,等相同字对,可嵌套
  • 变量初值
    为创建时状态为undef,到达文件尾部也为undef,创建后状态为defined;
    说明变量为未定义:undef $a; 代表0或者空字符串
    用在条件判断中: if(undef $a)或者是 if(defined $a)
    代替不关心的变量:
	$s="a:b:c:d";
 	($a1,undef,undef,$d1)=split(/:/$s);

如果有undef变量又不知道在哪,可加-w参数进行提示:#!/usr/bin/perl -w

  • 相关函数
    chop()截去最后一个字符
    chomp()截去末尾的行分隔符\n,行分隔符可由$/定义
    直接改变变量
$a="ab\n\n\n";
$/=""; #设置成空串 可一次截去多个换行符
chomp($a);
print "chomp many $a\n";
$a="abcd";
$/="cd"; #截去cd
chop($a);
print "chop $a|";
$a="abcd";
chomp($a);
print "chop $a|";#chop ab|

字符串相关函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值