perl中的控制语句及函数定义

2024-06-13 02:08
文章标签 函数 定义 控制 语句 perl

本文主要是介绍perl中的控制语句及函数定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 条件控制语句

if(条件表达式)

{

#语句

}

else

{

#语句

}

given…when结构形式为:

given (标量)

when()  { }

when()  { }

when()  { }

when()  { }

 

given语句的用法为:

#!/usr/bin/perl -w
use 5.010001;
my $m=<STDIN>;
given ($m)
{
when (/[0-9]/) {print "it is a number\n";}
when (/[a-z]/)  {print "it is a letter\n"}
default  {print "\n";}
}
2.  循环控制语句

(1)while (条件表达式)

{

# 循环体语句

}

 (2)until (条件表达式)

{

# 循环体

}

(3)do

{

#循环体

}while(条件表达式)

(4)foreach标量(标量)

{

# 循环体

}

foreach的简单使用实例为:

#!/usr/bin/perl -w

foreach $m (1..10)

{

print "$m\n";

}

 (5)for循环语句与foreach等价

形式为

for(表达式;表达式;表达式)

(6)循环控制的next,last以及redo

next语句用于跳过本次循环,执行下一次循环,last语句用于退出循环,redo语句用于回到本次循环的开始。next与redo 的区别在于next会跳过本次循环。下面是三种语句的使用实例:

#!/usr/bin/perl -w
use 5.01;
my $n;
for($n=0;$n<10;$n++)
{
say "$n";
say "input a command:next,last or redo";
my $com=<STDIN>;
last if $com=~/last/;
next if $com=~/next/;
redo if $com=~/redo/;
}

在上面的程序中,输入last会跳出循环,输入redo会再次打印本次循环的输出,输入next会打印下一个数字。

(7)上面讲到的last仅仅能退出本层循环,如果想要退出多层循环,可以使用带有标签的语句。使用的例子为:

#!/usr/bin/perl -w
use 5.01;
my $num;
my $j;
LABEL:for($num=0;$num<10;$num++)
{
for($j=0;$j<$num;$j++)
{
say "input a string";
my $str=<STDIN>;
if ($str=~/stop/)
{
last LABEL;
}
say "you have input: $str";
}
}

在for循环的前面加了LABEL标签,在内层循环中使用last LABEL就可以退出两层循环了。上面的程序中输入stop即可退出循环。

3.   函数的定义及使用

函数的基本形式为

sub  <函数名>

{

# 函数体

}

如定义函数

sub hello

{

print “hello world\n”;

}

可以在意表达式中使用子程序名加上&来调用它,

#! /usr/bin/perl –w
sub hello
{
print “hello world\n”;
}
&hello;

程序中出现hello,world

下面定义了guess函数,用循环语句实现猜数字的功能:

#!/usr/bin/perl -w
my $n=100;
my $num=int(rand($n));
sub guess{
do {
print "input a number which is in the range of (0,100)";
$number=chmop(<STDIN>);
if ($number == $num){
print "riht\n";
}
elsif ($number < $num){
print "too low\n";
}
else {
print "too high\n";
}
}while (1);
}
&guess;


 

这篇关于perl中的控制语句及函数定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055986

相关文章

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Perl 特殊变量详解

《Perl特殊变量详解》Perl语言中包含了许多特殊变量,这些变量在Perl程序的执行过程中扮演着重要的角色,:本文主要介绍Perl特殊变量,需要的朋友可以参考下... perl 特殊变量Perl 语言中包含了许多特殊变量,这些变量在 Perl 程序的执行过程中扮演着重要的角色。特殊变量通常用于存储程序的

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1