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语句块也不再执行;
相关推荐
小柯J桑_1 小时前
C++:探索AVL树旋转的奥秘
开发语言·c++·avl树
skaiuijing3 小时前
Sparrow系列拓展篇:消息队列和互斥锁等IPC机制的设计
c语言·开发语言·算法·操作系统·arm
雯0609~4 小时前
c#:winform调用bartender实现打印(学习整理笔记)
开发语言·c#
胜天半子_王二_王半仙6 小时前
c++源码阅读__smart_ptr__正文阅读
开发语言·c++·开源
沐泽Mu6 小时前
嵌入式学习-C嘎嘎-Day08
开发语言·c++·算法
Non importa6 小时前
汉诺塔(hanio)--C语言函数递归
c语言·开发语言·算法·学习方法
LinuxST6 小时前
27、基于Firefly-rk3399中断休眠唤醒实验(按键中断)
linux·开发语言·stm32·嵌入式硬件
Tony_long74836 小时前
Python学习——猜拳小游戏
开发语言·python·学习
跳动的梦想家h6 小时前
黑马点评 秒杀下单出现的问题:服务器异常---java.lang.NullPointerException: null(已解决)
java·开发语言·redis
ac-er88886 小时前
PHP 二分法查找算法
开发语言·算法·php