Perl基础知识概述

开发 架构
Perl语言有很多值得学习的地方,你对Perl是否熟悉呢,这里就向大家简单介绍一些Perl基础知识,希望本文的介绍能让你有所收获。

本文和大家重点学习一下Perl基础知识,主要包括Perl运算符,常量,变量和表达式,引用规则等内容,相信通过本文的简单介绍你对Perl基础知识一定会有所了解。

Perl基础知识

(1)helloworld.pl
usestrict;//打开严格语法和变量检查
usewarnings;//打开附加编译和运行时的警告
print"helloworld\n";//打印信息

运行方式,命令行下:perlhelloworld.pl

(2)Perl基础之变量和简单表达式
只有一种变量,字符串

定义变量:
my$size=42;#这是注释
my表示局部变量,42实际上是“42”

如果变量没有初始化,就被赋予一个特殊值undef,对undef进行比较、打印或算术运算会出错。

(3)Perl基础之打印变量:
print"size=$size"
会打印出size=42;
如果要打印"$",需要转义

perl也有printf,类似c语言,不过只在需要精确控制变量格式的地方才使用,比如:printf"%3d:%-20s%5.2f\n",$sequence,$description,$amount;

(4)Perl基础之运算符
和c一样,多的有:
.:字符串连接
**:乘幂
x:重复,比如:my$no="no"x3;

(5)Perl基础之引用规则
如果输出的字符串后面还有字符,需要用大括号分隔,例如:
my$title="$name\t${size}inches"

如果不希望Perl窜改你的字符串,则要使用单引号。Perl不会解释单引号内的东西,除非\'和\\

(6)Perl基础之数字常量
与c相同,包括八进制和十六进制,数字中还允许使用下划线,例如:
my$cost=1_333_832;

(7)Perl基础之读取输入
从标准输入读取输入:
$variable=<STDIN>;(stdin也可以全小写)
将读取整行,直到新行,包括你的回车。

chomp($name),可以去掉字符串末尾的新行

(8)if语句和关系运算符
例如:
if($size==1){

}elsif($size==2){//注意不是elseif

}else{
die("错误");//打印错误消息并退出
}

关系运算符分别有用于数字和字符串的:
数字字符串
==eq
!=ne
<lt
<=le
>gt
>=ge

如果字符串用了数字的关系运算,会将字符串转换为0,会显示一个警告

(9)测试变量是否有值
defined($value)
取消定义变量undef($value)

(10)真的定义
false:未定义变量,空字符串,值“0”
true:其他情况

(11)Perl基础之循环语句
while(condition){
last;//退出循环,类似c中的break
}
for($i=0;$i<10;$i++)
{
}

(12)Perl基础之简单IO

读取文件:
openIN_FILE"<data.txt"//打开data.txt,“<”是一个特殊字符,表示要读取
典型使用:openIN_FILE,"<data.txt"ordie("Couldnotopendata.txt");
如果成功就不会执行or后面的语句

读取文件中的数据:
$line=<IN_FILE>
if(notdefined($line)){//判断是否EOF
}
close(IN_FILE)//关闭文件
建议对读出来的东西都进行chomp,去掉"\n"

写入文件:
openOUT_FILE">data.txt"//打开data.txt,“>”是一个特殊字符,表示要写入
printOUT_FILE"hello\n"

【编辑推荐】

  1. Perl基础 Perl数组学习指南
  2. Perl文件句柄概念详解
  3. Perl基础 Perl 哈希表概述
  4. Perl基础 Perl复杂数据结构
  5. 术语汇编 Perl变量中Perl关联数组用法解析
责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-16 11:22:31

Perl

2010-07-23 13:16:07

Perl

2010-04-15 13:19:29

Oracle架构

2010-07-13 16:34:34

Perl 哈希表

2010-02-07 14:31:43

LAN交换机

2010-12-27 14:03:07

2023-03-21 16:55:04

Linux

2009-12-31 13:34:48

Linux Ubunt

2023-07-04 07:31:06

MapReduce数据处理编程模型

2011-03-29 14:11:20

Cacti基础知识

2014-08-20 10:15:45

2011-09-16 10:13:02

Emacs

2009-04-10 09:35:00

WCDMA基础无线网络

2009-09-23 11:07:11

Hibernate基础

2015-06-01 13:35:43

数据中心DCIM

2009-04-17 14:22:40

XPathXML基础

2010-07-21 09:50:51

Perl调试

2021-11-05 15:31:01

UbuntuLinux

2009-12-08 15:02:48

路由器技术

2013-03-27 15:56:05

Android开发Andriod绘图
点赞
收藏

51CTO技术栈公众号