perl基础入门

文章目录

Perl语言基础入门

一、简介

  • Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言"。
  • Perl 是高级、通用、直译式、动态的程序语言。
  • Perl 最初的设计者为拉里·沃尔(Larry Wall),于1987年12月18日发表。
  • Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。
  • Perl 最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。

二、基础语法

这里主要介绍基础语法,如果有环境问题可自行百度

1.你好世界

perl 复制代码
#!/usr/bin/perl 
 
print "Hello, World!\n";

2.注释

perl 注释的方法为在语句的开头用字符#

perl 复制代码
# 这一行是 perl 中的注释

3.转义字符

如果我们需要输出一个特殊的字符,可以使用反斜线(\)来转义

4.变量

变量是存储在内存中的数据,创建一个变量即会在内存上开辟一个空间。

解释器会根据变量的类型来决定其在内存中的存储空间,因此你可以为变量分配不同的数据类型,如整型、浮点型、字符串等。

变量不需要显式声明类型,在变量赋值后,解释器会自动分配匹配的类型空间

perl 复制代码
$age = 25;

5.标量

标量是一个单一的数据单元。 数据可以是整数,浮点数,字符,字符串,段落等。简单的说它可以是任何东西

6.数组

数组是用于存储一个有序的标量值的变量。

数组 @ 开始。

要访问数组的变量,可以使用美元符号($)+变量名,并指定下标来访问

perl 复制代码
@array = (1, 2, 'Hello');

7.条件语句

语句 描述
if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if...else 语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
if...elsif...else 语句 您可以在一个 if 语句后可跟一个可选的 elsif 语句 ,然后再跟另一个 else 语句
unless 语句 一个 unless 语句 由一个布尔表达式后跟一个或多个语句组成。
unless...else 语句 一个 unless 语句 后可跟一个可选的 elsif 语句 ,然后再跟另一个 else 语句
unless...elsif...else statement 一个 unless 语句 后可跟一个可选的 elsif 语句 ,然后再跟另一个 else 语句
switch 语句 在最新版本的 Perl 中,我们可以使用 switch 语句。它根据不同的值执行对应的代码块。

8.循环

循环类型 描述
while 循环 当给定条件为 true 时,重复执行语句或语句组。循环主体执行之前会先测试条件。
until 循环 重复执行语句或语句组,直到给定的条件为 true。 循环主体执行之前会先测试条件。
for 循环 多次执行一个语句序列,简化管理循环变量的代码。
foreach 循环 foreach 循环用于迭代一个列表或集合变量的值。
do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环 您可以在 while、for 或 do...while 循环内使用一个或多个循环。

9.循环控制语句

控制语句 描述
next 语句 停止执行从next语句的下一语句开始到循环体结束标识符之间的语句,转去执行continue语句块,然后再返回到循环体的起始处开始执行下一次循环。
last 语句 退出循环语句块,从而结束循环
continue 语句 continue 语句块通常在条件语句再次判断前执行。
redo 语句 redo 语句直接转到循环体的第一行开始重复执行本次循环,redo语句之后的语句不再执行,continue语句块也不再执行;
相关推荐
新时代牛马6 分钟前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob9 分钟前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
白山编程大哥1 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
shmily麻瓜小菜鸡2 小时前
JavaScript / TypeScript 易踩坑知识点 —— 异步编程类
开发语言·javascript·typescript
七夜zippoe2 小时前
为什么 2026 年每个 Java 团队都该懂 AI Agent
java·开发语言·人工智能
znnnk2 小时前
【Python】GUI 开发从入门到实战(三):PyQt/PySide 进阶之路
开发语言·python·pyqt
Despacito10063 小时前
Java后端性能探查工具速查表
java·开发语言
晊晌_h3 小时前
嵌入式从0到精通——Linux C|TCP 并发服务器实现方案详解
服务器·开发语言·tcp/ip
传奇开心果编程3 小时前
【Rust入门知识点学与练】第17课:闭包 Closures
开发语言·学习·rust
广州灵眸科技有限公司4 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php