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语句块也不再执行;
相关推荐
凌~风1 小时前
014-计算机操作系统实验报告之C 程序的编写!
c语言·开发语言·实验报告
西红市杰出青年1 小时前
crawl4ai------AsyncPlaywrightCrawlerStrategy使用教程
开发语言·python·架构·正则表达式·pandas
星河耀银海1 小时前
C++基础数据类型与变量管理:内存安全与高效代码的基石
java·开发语言·c++
Logan Lie1 小时前
Go语言接口(interface)深度详解
开发语言·数据库·golang
西部风情1 小时前
稳定性质量系列-系统稳定性建设实践
java·开发语言
keven-wang1 小时前
嵌入式-POCO C++开源库
开发语言·c++·开源·poco
a程序小傲1 小时前
中国邮政Java面试被问:Kafka的Log Compaction实现和删除策略
java·开发语言·后端·python·面试·职场和发展·kafka
感觉不怎么会1 小时前
Android 4.4 - APN类型扩展(一)
android·开发语言·python
pulinzt1 小时前
【python】第四节引入模版+文件的读取
开发语言·python
@zulnger2 小时前
读写Excel
开发语言·python·excel