perl学习笔记一
标量数据
标量:数字、字符。可以存储在标量变量中也可以从文件和设备中读取。
数字:所有数字内部格式相同——双精度浮点数。
浮点数直接量:程序员在程序中直接键入的数字。
整数直接量:61298040283768==61_298_040_283_768;
操作:
字符串:字符串长度没有限制。
usr utf8;
单引号内的字符串直接量:除了单引号和反斜线字符外,单引号内的所有字符都表示自身。
双引号内的字符串直接量:
字符串操作符:连接操作. 特殊的字符串重复操作符——x。
"fred" x 3=="fredfredfred"。
perl内置警告功能:用use warning;或者 $perl -w my_program或者#!/usr/bin/perl-w。
更加详细的问题描述:use diagnostics;在perldiag文档中列有简要警告信息和详细诊断说明。
如果把'12fred34'当数字用,perl就会发出警报 'Argument "12fred" isn't numeric.'
虽然发出了警报,但perl仍然会按照默认规则把'12fred34'转换成12。
内插问题:进行内插时,Perl会尽可能使用最长且合法的变量名称。要是你想在内插的值后直接输出字母 数字 下划线,可能会碰上麻烦。
解决方法比较简单,和shell脚本一样,Perl里面我们可以用一对花括号将变量名括起来避免歧义,也可以将字符串拆分成两半,在利用链接操作符拼接起来。
代码点(code point)???
操作符:
布尔值:
上面还隐藏着一个技巧,字符串'0'和数字0是同一个标量值,所以Perl会将他们一视同仁。也就是说,字符串'0'是唯一被当成假的非空字符串。
获取用户输入
<STDIN>
<STDIN>读入时会将最后的回车也读进去。如果需要去掉可以用:chomp()操作去掉。
chomp()操作符:将字符串末尾的换行符去掉。chomp()一般用作连用如:
chomp($text=<STDIN>);
undef值:将undef当作数字用,则其为0;如果把其当作字符串来用,则其值为空字符串。
既然undef作为数字时会被视为0,我们的累加器可以构造成如下(sum不需要初值):
同理也可以做一个字符串累加器。
defined函数:行输入操作符<STDIN>有时会返回undef。在一般情况下返回一行文本,但若没有更多输入,比如读到文件尾(end_of_file)时,就需要用undef来表示这个状况。要判断某个字符串是不是空串需要用defined函数。
#!/usr/bin/perl
$madonna=<STDIN>;
if(defined($madonna)){
print "The input was $madonna.\n";
}
else{
print "NO input available.\n";
}
最新文章
- 用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……
- 使用Cocos2d-x实现微信“天天爱消除”炫耀button特效
- 小米4 miui专用 Xposed安装器86版
- python之import子目录文件
- Scalaz(43)- 总结 :FP就是实用的编程模式
- 教你安装CentOS 6.5如何选择安装包
- 让show parameter显示隐含参数(12C)
- 数字字符与金钱RMB之间的转换
- IOS内存管理「2」- 点语法的内存管理
- Android 高仿腾讯旗下app的 皮肤加载技术
- JavaScript jQuery 入门回顾
- iOS动画详解(一)
- 认识v$fixed_view_definition
- httpunit使用演示样例
- Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道
- 【翻译】go语言中的map实战
- PROFINET如何实现实时性
- Codeforces Round #460 E. Congruence Equation
- jquery.validator 手机号验证
- python-写入excel(xlswriter)