Perl语言总结(3)

perl语言入门级练习记录2&3章 题目来自《Perl语言入门》第四版 2.1.2练习 [5]写一个程序,计算半径为12.5的圆的周长。圆周长等于2π(π约为3.1415926)乘以半径。答案为78.5。 #!/usr/bin/perl –w use strict; my $pi=3.141592654; my $r=12.5; my $c=2*$pi*$r; printf "The C is %.1f\n",$c; [4]修改上述程序,用户可以在程序运行时输入半径。如果,用户输入12.5,则应得到和上题一样的结果。 #!/ 阅读详情

1.2.4 复杂数据结构

$wife{"Jacob"} = ("Leah", "Rachel", "Bilhah", "Zilpah");   # 错误

$wife{"Jacob"} = ["Leah", "Rachel", "Bilhah", "Zilpah"];   # 正确

用[] 中括弧来将一个列表转换成一个标量。

$wife[0] = ["Leah", "Rachel", "Bilhah", "Zilpah"];  #正确

$wife = ["Leah", "Rachel", "Bilhah", "Zilpah"]; #错误

左边要写成 $wife{"Jacob"} 或 $wife[0] 表明 wife 是一个数组或散列,只有对数组或散列才能这样赋值。

访问方式用 $wife{"Jacob"}[0] 或 $wife[0][0]

我们希望将散列结构也当成一个标量,我们可以使用花括弧来完成,如:

         $kids_of_wife{"Jacob"} = {
              "Leah"   => ["Reuben", "Simeon", "Levi", "Judah", "Issachar", "Zebulun"],
              "Rachel" => ["Joseph", "Benjamin"],
              "Bilhah" => ["Dan", "Naphtali"],
              "Zilpah" => ["Gad", "Asher"],};

访问 $kids_of_wife{"Jacob"}{"Leah"}[0]   = "Reuben";

1.2.5 简单数据结构

Perl 用 package 标名命名空间,如

   package Camel;
   $fido = &fetch();

$fido 的真实名字是 $Camel::fido,&fetch 的真实名字是 &Camel::fetch

当我们使用:

   $fido = new Camel "Amelia";

我们实际上调用了 Camel 包中的 &new,它的全名是 &Camel::new。并且当我们使用:
 
   $fido->saddle();

的时候,我们调用了 &Camel::saddle 过程,因为 $fido 记得它是指向一个 Camel 对象的。这就是一个面向对象程序的工作方法。
 
package Camel 实际上是开始了一个新包。Perl 中用 use 声明借用其他已有包的名词和动词,use 同时也会检查磁盘上载入的模块名称。

实际上,你必须先使用:

   use Camel;

然后才能使用:

   $fido = new Camel "Amelia";

不然的话,Perl 将不知道 Camel 是什么东西。

可能 Perl 最强大的东西并不在 Perl 本身,而在于 CPAN(Comprehensive Perl Archive Network),CPAN 包含无数的用于实现不同任务模块

。你不需要知道如何实现这些任务,只需要下载这些模块,并简单用下面的方法来使用它们:

   use Some::Cool::Module;

然后你就可以使用模块中的动词。

   use strict;

strict 模块干的事是更加严格地约束 Perl 中的一些规则,这样你在很多方面必须更明确,而不是让 Perl 去猜,例如如何确定变量的作用范

围。

1.2.6 动词

在 Perl 中过程和函数并没有硬性的区别。我们经常称动词为操作符(内建)或者是子过程(用户自定义)(注:历史上,Perl 要求你在调用

的任何用户定义子过程的前面加一个与号(&)(参阅早先时候的 $fido = &fetch();)。但是到了 Perl 版本 5,这个与号是可选的了,所以

用户定义动词现在可以和内建动词相同的方法进行调用了($fido = fetch();)。

1.3.1 如何运行

1) %perl -e 'print "Hello, world!/n";'  # Unix 下
   %perl -e "print 'Hello, world!'";    # Win 下

2) %perl gradation           #gradation 文件中写了 perl 脚本

3) %gradation               #gradation 前加了 #! /usr/bin/perl (#!”shebang”标志),并且该文件可执行
     Windows 下的 .pl 脚本如果关联了 perl.exe 解释器,不用加 shebang 标志,要加的话就是 #!C:/Perl/bin/perl.exe,就直接能执行 gradation.pl
     #! /usr/bin/perl   -w  # -w 选项会打开所有有用的和有趣的警告信息

3、Perl编程语言全解析:从起源到应用 这篇博客全面解析了Perl编程语言的起源、设计理念、适用场景以及其发展现状。从拉里·沃尔创造Perl的初衷到语言的易用性与强大功能,内容涵盖Perl的流行原因、获取方式、支持资源以及其在文本处理、系统管理等领域的应用。同时,还介绍了Perl的生态环境,如CPAN和全球Perl用户社区。无论你是初学者还是经验丰富的开发者,都能从中了解Perl的核心价值和实用技巧。 阅读详情

相关推荐

【NIFI】实现HANA->ORACLE数据同步

实现 HANA->ORACLE数据同步。

weixin_43159039的博客 1506

脚本语言 汇总-perl

标量 $ 开始, 如$a $b 是两个标量。数组 @ 开始 , 如 @a @b 是两个数组。哈希 % 开始 , %a %b 是两个哈希。环境变量$ENV{'XX'}标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页。多行字符串:1) 单引号菜鸟教程—— 学的不仅是技术,更是梦想!菜鸟教程—— 学的不仅是技术,更是梦想!EOF__FILE__, __LINE__, 和 __PACKAGE__ 分别表示当前执行脚本的文件名,行号,包名。v 字符串。

2401_82542700的博客 1727

使用ArcGIS Pro进行土地利用分类的机器学习与深度学习

传统的土地利用分类方法通常依赖于手动解译和规则定义,但随着机器学习和深度学习的发展,我们现在可以利用这些技术来自动化和提高分类的精度。ArcGIS Pro是一种功能强大的GIS软件,它提供了丰富的工具和功能,可以支持土地利用分类的机器学习和深度学习。我们将首先讨论数据准备和预处理的步骤,然后介绍常用的机器学习和深度学习方法,并提供相应的源代码示例。这可以通过人工标注或半自动的方式完成。数据裁剪:根据研究区域的范围,裁剪遥感影像数据,以减少计算和存储的负担,并确保只包含感兴趣的土地利用区域。

code_program481的博客 2039

perl语言学习笔记

在perl中 $ws="women";                  print  " ws is $ws  and  ws /n";的结果是 ws is ws and  ws 因为 ‘ ’ 在”“中并不是特殊的符号 在”“ 中的特殊符号只有一个那就是" / ";

wansheg的专栏 574

XXL-Job 分布式定时任务

XXL-JOB是一款轻量级分布式定时任务调度框架,采用调度中心与执行器分离架构,解决单机任务宕机、重复执行等问题。核心模块包括调度中心(管理任务配置、触发调度)和执行器(执行任务逻辑),支持集群部署保证高可用。框架提供丰富的任务触发规则、路由策略、阻塞策略及完善的运维能力,适用于多种业务场景如数据同步、定时推送等。安装时需准备MySQL数据库并初始化表结构,通过Docker部署调度中心服务。相比其他定时框架,XXL-JOB具有轻量化、可视化等优势,是中小企业的首选方案。

郭宝的博客 698

【无人机项目实战】第三章:fast_planner工程解读(附C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、规划系统运行逻辑【业务部分】1.Fast_planner_node.cpp【程序入口】功能代码实现2.kino_replan_fsm.cpp【状态机转移】功能代码实现KinoReplanFSM::init()函数订阅目标点回调函数订阅里程计回调函数检查路径规划是否成功【重要】执行状态机FSM定时器回调函数【重要】判断目标点是否有障碍物或者是轨迹执行过程中是否有障碍物的回调函数3

qq_35635374的博客 1万+

perl 常用基础语法总结

perl 语法常用总结

weixin_53510068的博客 2088

AgentScope Java 入门:Spring AI Alibaba 与 AgentScope 的定位与区别

摘要:Spring AI Alibaba是阿里基于Spring AI开发的本地化AI应用框架,旨在服务Java开发者。它提供模型接入、函数调用、RAG等功能,并与阿里云基础设施深度集成。同时,阿里开源了多智能体框架AgentScope,其Java版(AgentScope-Java)专注于Agentic设计理念。两者将协同发展:Spring AI Alibaba侧重Spring生态集成,AgentScope-Java强化智能体能力。未来计划包括支持AgentScope、升级Admin平台,以及推进Server

SmartSi 1530

Perl语言总结(2)

1.4 文件句柄 文件句柄只是你给文件,设备,网络套接字或管道起的一个名字,这样可以帮助你分清你正在和那个文件或设备通讯,同时掩藏了如缓冲等复杂性。你可以使用 open 创建并关联一个文件。open 函数需要至少两个参数:文件句柄和你希望与文件句柄关联的文件名。Perl 也给你一些预定义(并且预先打开)的文件句柄。STDIN 是我们程序的标准输入,STDOUT 是标准输出。STDERR

博青港湾-技术空间 994

Python爬虫实战:高效爬取华尔街日报文章的技术与代码详解

在当今信息爆炸的时代,金融数据和分析对于投资者、研究人员和企业决策者来说至关重要。华尔街日报(WSJ)作为全球最具影响力的财经媒体之一,其文章内容具有极高的价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的华尔街日报文章爬虫,涵盖从基础到高级的各种技术要点。本文详细介绍了如何使用Python最新技术构建一个高效、稳定的华尔街日报文章爬虫。我们从基础爬虫实现开始,逐步添加了高级功能如分布式处理、反反爬虫策略、数据清洗和存储等。异步处理:使用asyncio和httpx实现高性能网络请求。

2201_76125261的博客 385

【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

理论开篇,理解什么是编程

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3112

Perl语言总结

 标量  $  $cents  一个独立的数值(数字或字串)  数组  @  @large  一列数值,用编号做键字  散列  %  %interest  一组数值,用字串做键字  子过程  &  &how  一段可以调用的 Perl 代码  类型团  *  *struck  所有叫 struck 的东西  $answer = 42; # 一个整数 $pi = 3.14159265 # 一个"

博青港湾-技术空间 1138

华为OD机试 - 压缩日志查询(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。某设备需要记录每分钟检测到的指标值。为了节约存储空间,将连续相同指标值的记录合并。压缩之前:202411231000,11 202411231001,11 202411231002,12 202411231003,12 202411231004,

学Java,找哪吒 1879

Perl语言入门--3--perl的控制结构

表达式真假值总结: 表达式不一定是逻辑表达式,但一定要得出真假值    假值:逻辑值为假       值为0       字符串为空       列表为空       undef    其他情况为真 1、if {} elsif {} else {} 2、unless :   与if条件含义相反。执行语句除非表达式为真。为真时退出,表达式是退出条件 3、whi...

dianyueji9619的博客 261

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Perl语言入门习题库chaper3习题

【代码】Perl语言入门习题库chaper3习题。

w1152715961的博客 180

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

perl语言入门(3)

书接上文 7.reverse和sort 反转 列表或数组的值,并返回。 @fred = 6..10; @barney = reverse(@fred); @barney = reverse 6..10; sort 排序,默认数字1开头的排在9前,返回排序后的结果。 6.标量和列表上下文 ...

weixin_33973609的博客 74

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Learning Perl(Perl语言入门)学习笔记(3)

 第四章 子例程 1、  子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上“&”符号;子例程名属于独立的命名空间;2、  子例程可以在程序中的任何地方进行定义,但要防止两个子例程重名,否则后者会覆盖前者;定义标准格式为:                                                                  

485

《Perl语言入门》第四版习题(3)

写一个程序,将一些字符串(不同的行)读入一个列表中,逆向输出它。如果是从键盘输入的,那在Unix 系统中应当使用CTRL+D 表明end-of-file,在Windows 系统中使用CTRL+Z. 写一个程序,读入一串数字(一个数字一行),将和这些数字对应的人名(下面列出的)输出来。(将下面的人名列表写入代码中)。fred betty barney dino Wilma pebbles b

xyp84的专栏 1915

寒假【perl语言学习脚本】1.1,1.2,1.3

############################################ #ex1-1.pl ###1-precitise #!/usr/bin/Perl print"hello world\n"; print"hello world\n"; use 5.010; say"hello world!"; ########################################...

qq_2604617551的博客 243

Perl语言入门--3--文件读取与写入

现有文件test.txt,内容为:"123\n456" 1,打开文本test.txt #!/usr/bin/perl open d,"test.txt"; d 为文件句柄,指向打开的文件 2,逐行读取文本test.txt #!/usr/bin/perl open d,"< test.txt"; ...

dianyueji9619的博客 457

寒假【perl语言学习脚本】3.1 3.2 3.3

#!/usr/bin/perl print “enter some lines,then press ctrl-z:\n”; @lines=; @reverse_lines=reverse@lines; print @reverse_lines; #!/usr/bin/perl @names=qw/fred betty barney dino wilma pebbles bamm-bamm/;...

qq_2604617551的博客 192

Perl语言必看书籍推荐

Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。 Perl借取了C、sed、awk、shell脚本语言以及很多其他程序语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被Perl语言爱好者称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix中的王牌工具”。 Perl一般被称为“实用报表提取语言”(Pr

reggieding的博客 1153

开发日记-20190706 关键词 读书笔记 《Perl语言入门》Day 3

Preface 感觉Perl上下文的概念其实挺有意思的,有点像大陆法系和英美法系之间的关系那样扑朔迷离。Perl的感觉在目前给我的感觉是,他更相信人,他认为只要是实际的操作者用的更爽,那这个东西就是最棒的! Content qw简写 在Perl程序里,经常需要建立见到的单词列表(如同前面的例子)。这时只需使用qw简写,就可以省去键入许多无谓引号的麻烦: qw( fred barney betty...

qq_31433709的博客 1912

perl语言入门总结-第3章-列表与数组

1-列表list指的是标题的有序集合,而数组(array)则是存储列表的变量。 更精确地说,列表指的是数据,而数组指的是变量。 访问数组中的元素 $fred[0] = "yabba"; $fred[1] = "dabba"; $fred[2] = "doo"; $number = 2.71111; print $fred[$number-1]; #dabba 如...

weixin_30784945的博客 118

寒假【perl语言学习脚本】5.1 5.2 5.3

#!/usr/bin/perl -w use strict; print reverse <>; #!/usr/bin/perl -w use strict; print “Enter some lines,then press ctrl-z:\n”; chomp (my @lines=);#需要用my来创建新的私有数组 print “1234567890” x 4 ,"\n";...

qq_2604617551的博客 337

Perl: Perl/CGI脚本语言编程学习资料及开发工具下载大全 (2013-3-9更新)

转载自:http://club.topsage.com/thread-361568-1-1.html,谢谢! Perl 最初的设计者为拉里·沃尔(Larry Wall),它于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。 Perl 一般被称为“实用报表提取语言”(Practical Extraction and Re

加油,码农! 3962
上一篇: Perl语言总结(2)
下一篇: Perl语言总结(4)
suacker
博客等级 码龄24年 46粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值