perl学习笔记(2)

简介:

 Perl的logo是头懒洋洋的骆驼,“可能不好看或者不好闻,但是它能完成任务”。

 

perl\

发现一个更好的网址:

http://perldoc.perl.org/5.8.8/index.html

嘿,我学的东西(5.8.8)跟最新的(5.14.1)差了3个大版本(8/10/12/14)呢!

小版本:5.8.8/5.8.9/5.10.0/5.10.1/5.12.0/5.12.1/5.12.2/5.12.3/5.12.4/5.14.0/5.14.1

最近发布的是5.14.2,上面那个网址还没有发布文档呢。

常量表示方法中值得注意之处:

  1. 科学计数法:6.67E-33或6.67e-33均可。
  2. 习惯用逗号的地方用下划线(underscore for legibility):4_294_296。
  3. 十六进制0xff 八进制0377 二进制0b011011
  4. 字符串长度没有限制(内存足够的前提下)
  5. 比用\转义(举例:"I said, \"Go ahead.\"")更好的表达方式是q{I said, "Go ahead."},后者更接近自然语言。这里大概是体现了perl的自由文化。

  6. 变量:变量用$开头表示,区分大小写字母。$a和$A是两个不同的变量。变量不必事先声明,数值变量默认值为0,字符串变量默认值为""。

  7. 表达式:=号的右边应为表达式,赋值运算本身也是表达式,$a=$b=$c=4**2;的结果是$a,$b,$c结果均为16。

  8. 算术运算符:加+   减-   乘*   除(商)/    余%    幂**

  9. 字符串运算符:连接.     重复x 变量替换
    $mydate="Thurs";
    print "mydate is ${mydate}day";
    如果没有{},则不能判断$mydate和$mydateday哪个是变量。
    $ten_a = "a" x 10; 这里a重复10次后赋值给$ten_a

  10. 常用函数:int(5.6234)返回5,length("abc")返回3,lc("ABC")返回"abc",uc("abc123")返回"ABC123",四舍五入用加上0.5再取整来实现。

  11. <STDIN>表达式从键盘读取信息(含回车符),程序中用chomp去掉末尾回车。
    $input_str=<STDIN>;
    chomp $input_str;
    print $input_str;

  12. 字符串参与算术运算时当作0处理。例如"abc"+5=0+5=5。如果在#!行上加上了一个- w开关,或者运行带有- w选项的perl程序,perl就会发出警告。

练习:

请编写一个短程序,提示用户输入一个华氏温度值,并输出摄氏温度值。

$ cd /usr/tmp
$ vi ft_2_t.pl


 
 
  1. #!/usr/bin/perl -w  
  2. print qq(Input fahrenheit temperature: );  
  3. $ft=<STDIN>;  
  4. $t=($ft-32)*5/9;  
  5. $t=int($t*100+0.5)/100;#such as round($t,2);  
  6. print qq(Convert to centigrade temperature: ${t}\n); 

$ perl ft_2_t.pl
Input fahrenheit temperature: 75
Convert to centigrade temperature: 23.89

好啦,这次就到这吧,可以写最基本的顺序执行程序了!

 




 本文转自 hexiaini235 51CTO博客,原文链接:http://blog.51cto.com/idata/801932,如需转载请自行联系原作者


相关文章
|
人工智能 安全 IDE
【AI帮我写代码,上班摸鱼不是梦】手摸手图解CodeWhisperer的安装使用
除了借助ChatGPT通过问答的方式生成代码,也可以通过IDEA插件在写代码是直接帮助我们生成代码。 目前,IDEA插件有CodeGeeX、CodeWhisperer、Copilot。其中,CodeGeeX和CodeWhisperer是完全免费的,Copilot是收费的,每月10美元。 下面我们来了解CodeWhisperer的安装和使用,如果你还想了解其他的可以在评论告诉我。
473 4
|
算法 安全 搜索推荐
TLS 协议-对称加密原理
TLS 协议-对称加密原理
601 0
|
4月前
|
数据库连接 C#
C#图书管理系统
C#图书管理系统
60 1
|
10月前
|
IDE 编译器 开发工具
C/C++开发环境
C/C++开发环境
244 4
|
机器学习/深度学习 传感器 边缘计算
深度学习之边缘计算与云计算结合
边缘计算与云计算结合是现代人工智能和物联网领域的重要技术方向。通过将边缘计算的实时处理能力和云计算的强大计算资源结合起来,可以实现高效、低延迟的智能应用。
264 1
|
10月前
|
监控 安全 Java
Spring Boot 中的 Actuator 是什么?
Spring Boot 中的 Actuator 是什么?
1862 6
|
存储 人工智能 自然语言处理
论文介绍:Mamba:线性时间序列建模与选择性状态空间
【5月更文挑战第11天】Mamba是新提出的线性时间序列建模方法,针对长序列处理的效率和内存问题,采用选择性状态空间模型,只保留重要信息,减少计算负担。结合硬件感知的并行算法,优化GPU内存使用,提高计算效率。Mamba在多种任务中展现出与Transformer相当甚至超越的性能,但可能不适用于所有类型数据,且硬件适应性需进一步优化。该模型为长序列处理提供新思路,具有广阔应用前景。[论文链接](https://arxiv.org/abs/2312.00752)
427 3
|
存储 固态存储 测试技术
LabVIEW RT在非NI硬件上的应用与分析
LabVIEW RT在非NI硬件上的应用与分析
140 0
|
存储 前端开发 Java
JavaWeb:Request & Response
在JavaWeb开发中,Request(请求)和Response(响应)是非常重要的概念。它们分别代表着客户端向服务器发送请求和服务器向客户端返回响应的过程。Request对象是由服务器创建的,用于封装来自客户端的请求信息。它包含了请求的HTTP方法(如GET或POST),URL,请求头部、参数等信息。你可以通过Request对象获取客户端发送的表单数据、URL参数、HTTP头部和Cookies等。Response对象则是服务器用来向客户端发送响应的工具。它包含了HTTP状态码、响应头部和响应体等信息。你可以使用Response对象设置响应的状态码、设置响应头部
223 3
 JavaWeb:Request & Response
|
NoSQL 关系型数据库 MySQL
Redis入门到通关之Redis实现Session共享
Redis入门到通关之Redis实现Session共享
467 0