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

如何区分Info与CoWoS封装? 这篇文章主要从Info、CoWoS封装的定义、Interposer的种类以及Info、CoWoS封装的种类三方面进行了介绍,希望读者能够有所收获 阅读详情

 

第五章 输入与输出

 

1、  在While循环里,Perl会一次读取一行输入,把它存入某个变量并且执行循环主体后再去寻找下一行输入;而在foreach循环中,整行输入操作会在列表上下文执行,因此,循环开始前,它会把所有输入事先读进来,在对于处理大体积的文本文件是十分不利的;

2、  “< >”,即钻石操作符(有的书上称作菱形操作符,也有的书上称作尖括号操作符,我们这里姑且采用Randal的命名),用来从文件句柄读入数据;如果在< >中没有指定任何文件句柄时,Perl就从特殊数组变量@AVRG中读入文件列表,在@AVRG为空时就会改从标准输入流读取数据;@AVRG数组的用法跟其它数组相同;

3、  钻石操作符在读入数据时,其读取的是以“$/”中的内容为结束标志的一行内容,$/中默认存储的为“/n”,也可以将其声明为其它“分隔符”而非换行符,如 undef $/可以让<>一次读取到文件尾部而不是仅仅读取一行;

4、  print操作符会读取一个列表的所有值,并把每个项目(字符串)依次输出,它不会在每个项目之前、之间和之后添加任何额外的字符,如空格、换行符等;所以,print @array 会输出列表中的项目,而 print “@array” 会输出一个项目——字符串,而其间有空格(Perl在将数组替换到字符串时会在每个元素间加上空格);

5、  由于print所处理的是一串要输出的字符串,因此它的参数会在列表上下文中执行;print是个函数,其执行成功时返回值“真”,否则为“假”;

6、  printf函数可用于格式化输出,其格式为:printf  “格式”, 数据列表 ;常用的格式转换定义符有:

a)         %d :有正负号的十进制数;浮点数会被“取整”,而非四舍五入;

b)        %e和%E:显示指数形式的浮点数;

c)        %f:显示浮点数;

d)        %g或%G:自动选择浮点数、指数甚至正数形式;

e)         %s:显示字符串;

f)         %%:显示百分号;

7、  printf允许设定显示字段宽度,如%10s,将宽度设为负值可指定为左对齐;

8、  在以数组作为printf的参数时,由于数组变量元素的个数是不定的,因此,应该先获得元素个数,而后再为每个元素对应设定一个“格式”;如“%s x  @array”就指定了以数组array的个数作为%s连续指定的次数;

9、  文件句柄(filehandle)代表Perl进程(process)与外界之间的输入/输出联系(connection),它是个“联系”的名称;句柄的命名规则同其它标识符,建议全部大写,以示区别;文件句柄不一定总要指代磁盘上的文件;Perl有6个保留的文件句柄名称:STDIN、STDOUT、STDERR、DATA、ARGV、ARGVOUT;

10、              Perl所提供的3种文件句柄STDIN、STDOUT和STDERR,都是由产生Perl进程的父进程自动打开的文件或设备;当你需要其它文件句柄时,也需要事先打开文件句柄,这可以使用open函数实现;通常形式为:open (HANDLE,”filename”) or die (“Cannot open file:$!”);$!保留系统最后一次错误的信息;可以用标量变量替换文件名;

11、              可以在文件名前添加前缀以指定打开方式:

a)         <filename  打开一个文件,以便读取内容;这个为默认行为;

b)        >  打开一个文件,以便写入;原有的内容会被丢弃;

c)        >>  打开一个文件,以便在文件尾部追加内容;

d)        +<  打开一个文件,以便更新(读写);

e)         +>  创建一个文件,以便更新;如果文件已存在会丢弃其原有内容;

f)         +>>  追加;打开或创建一个文件以便更新;

12、              不良文件句柄为因权限或错误文件名等原因而未成功打开的文件句柄,如果程序尝试从不良文件句柄读数据会立刻读到文件尾部,如果尝试写入数据到不良文件句柄,数据会被无声无息的丢弃;

13、              “close 文件句柄名称”可以用来关闭一个文件句柄;重复打开时,Perl会关闭原先的文件句柄,程序结束时Perl也会自动关闭文件句柄;无论如何,建议为每一个成功的open进行close;

14、              die函数可以输出程序中指定的信息,并让程序在非零状态下立刻终止;Unix上,程序结束状态通常有“0”代表成功,“1”代表语法错误,“2”代表处理某程序时发生了错误;$!在指示用法错误时可以使用,而追踪调试过程中的错误时则不必要使用;

15、              warn函数可以用来产生警告信息,但不会终止程序运行;

16、              print和printf函数可以向以写入或追加模式打开的文件句柄中写入数据;句柄和列表内容之间不用逗号;如果不为其指定文件句柄名称,默认为STDOUT;可以使用select函数改变默认的文件句柄,格式为“select 文件句柄名称”,为避免错误,建议使用完后恢复默认;

17、              将数据输出到文件句柄时,默认都会进行缓冲,如果想立即输送到文件,可以通过将$|的值设定为“1”来实现,即在程序中添加“$|=1”(不用外面的引号);

18、              可以通过重新打开默认错误流文件句柄将错误信息定位输出至文件,如“open STDERR “>>/home/bentham/error_log” or die “Cannot open logfile for append:$!; ”,如果重新打开默认文件句柄失败,Perl会自动将句柄恢复至原来的文件句柄;

 

Outlook Express 6 (OE6) for Win7/Win8/Win10 英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。 立即下载

相关推荐

PMOS过压保护电路设计与仿真优化策略

本文深入探讨PMOS过压保护电路(OVP)的设计与仿真优化策略,详细解析PMOS管选型、稳压管特性及三极管配置等关键要素。通过Proteus仿真案例揭示典型设计误区,并提供响应速度提升、抗干扰设计等进阶优化方案,助力工程师实现高可靠性的电源保护系统设计。

weixin_42620340的博客 440

Perl入门笔记——输入和输出

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34113237的博客 247

STM32CubeIDE入坑指南

一 前言 在科技日新月异的今天,作为从事效率为先的苦逼 IT 行业,秉承着我不入地狱谁入地狱的伟大革命精神,我决定再一次做第一个吃螃蟹的人,通过自身的入坑过程,为大家测试STM32CubeIDE这款新式工具。(其实是为了我能省点时间,快点做完项目,多挣点钱买几瓶肾气丸) 二 看一看别人是如何入坑的 二 手把手带你入坑 三 相关资料 ...

CH的博客 1万+

Perl语言入门——输入与输出

读取标准输入:     while(){         print "I saw $_";     }         foreach(){         print "I saw $_";     } 注意这两个的实际执行过程略有不同 钻石操作符输入:钻石操作符 钻石操作符是“行输入”操作符的特例,它并不从键盘获得输入,而是从用户指定的位置读取     while(defined($li

rockiecxh的专栏 933

【阿里云大模型高级工程师ACP学习笔记】2.8 部署模型

【摘要】本文主要分享自学阿里云大模型高级工程师 ACP 认证中《2.8 部署模型》的学习笔记。详细介绍学习目标、梳理涵盖的知识点并评估其重要性和难易度,对既重要又困难的知识点进行重点分析,旨在为对阿里云大模型学习和认证感兴趣的读者提供学习思路和经验参考。

davidkorhenn的博客 2060

【29】软考软件设计师——SQL语句编写与优化深度精讲|数据库大题延伸满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第29篇,承接第28篇ER图转关系模式核心内容,作为**下午第2题数据库大题核心延伸必考模块**,单模块累计占分5~8分,是数据库板块性价比极高的提分重点。全文超4000字深度拆解软考全部SQL高频考点:全覆盖多表连接底层逻辑、嵌套子查询分类实操、GROUP BY分组聚合硬核规则、索引全品类设计原理、联合索引最左匹配底层机制,搭配海量可直接复刻的考场SQL模板、历年真题完整改写案例、索引失效场景实操复盘、慢查询优化落地技巧。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 525

perl文本输出对齐

一般输出: print "$a\t$b\n"; 向右对齐: printf "%20s","1234567890\n";printf "%20s"x@lines,@lines; 向左对齐: printf "%-20s","1234567890\n";printf "%-20s"x@lines,@lines;当然可以用获取当前长度再填补空格的方法 :# 首先你要获...

a12141986的博客 1615

Python DEAP 库深度解析:从基础架构到高级应用

DEAP 是一个基于 Python 的开源框架,专门用于实现和运行各种进化算法,旨在帮助用户轻松地构建和调整进化算法,用于解决各种优化和搜索问题。本节中,介绍了 DEAP 相较于其它进化计算框架的优势,以及 DEAP 中重要的工具 creator 和 Toolbox。

盼小辉丶的博客 5080

Perl常用语法

本文主要为了方便阅读、编写perl脚本而记录的常用的命令、语法。 一、条件判断语法 注意,数字 0, 字符串 '0' 、 "" , 空 list () , 和 undef 为 false ,其他值均为 true。 true 前面使用 ! 或 not则返回 false 语句描述 if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 if....

weixin_33758863的博客 443

09 SAP CPI 访问公共API接口

我在网上找了一个公共API,入参输入汉字返回拼音。至此,一个真正的访问API的接口就做好了。点击保存时可看到红叉报错。

SAP CPI 477

使用lightGBM进行数据建模及预测

在机器学习领域中,数据建模和预测一直是非常重要的任务。而lightGBM作为一种基于梯度提升算法的高效机器学习框架,被广泛应用于数据建模和预测中。本文将介绍如何使用lightGBM进行数据建模和预测。到此,我们已经成功使用lightGBM对数据进行了建模和预测。使用lightGBM可以快速、高效地完成数据建模和预测任务,是机器学习领域中不可或缺的工具之一。使用lightGBM进行数据建模及预测。

qq_37934722的博客 1016

perl详解

第一章 概述 一、Perl是什么?       Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。       .Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是从C语言中借用来的。       .与脚本语言一样,Perl不需

彦彦专栏 6198

灰质-白质组织对比(Gray-white matter tissue contrast,GWC)计算以及可视化

GWC是深层灰质与浅表白质(superficial white matter,SWM)之间T1加权信号强度的比值,已知髓鞘中的胆固醇是T1加权信号强度的主要影响因素,因此GWC大致反映了大脑皮层和浅表白质之间的髓鞘化差异。GWC代表灰白质交界处的模糊程度,较低的GWC表明灰质和白质交界处更相似和更模糊;较高的GWC表明灰白质分界更加清楚。据之前的研究报道,局灶性皮质发育不良、颞叶癫痫、帕金森病、强迫症、精神分裂症和自闭症谱系障碍中存在灰白质交界区GWC异常增高或降低。 灰质信号强度和白质信号强度采集的示意图

xxx 732

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

第二章 标量数据 1、 一般来说,Perl用标量(Scalar)指称单件事物;2、 Perl中,所有数值的内部格式都相同,一律使用双精度浮点数进行运算;3、 直接量是Perl原程序中数值的表示形式,在非十进制的整数直接量表示中,八进制以0开头,十六进制以0x开头,而二进制以0b开头;4、 操作符**表示幂乘,如2的3次方为2**3;5、 字符串没有长度限制(0—∞);6

639

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Learning Perl

本书是perl的经典入门书籍,介绍了perl中最基本的概念和语法,是perl入门的好书,我 向所有想了解或学习perl语言的朋友推荐本书。书中穿插有perl语法形成的历史和原因, 使你能充分感受到perl语言的文化,这也是perl流行的原动力。本书行文流畅,各知识点 介绍到位,令人很容易明白,达到入门点睛的效果。但本书的作用也就是入门而已,目的很 明确,它没有深入到perl脚本语言的高级部份。如果

yeliang的专栏 1746

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Perl语言入门(第五版) 中文版PDF下载 (原书名:Learning Perl,5/e)

Perl语言入门(第五版) 中文版PDF下载 (原书名:Learning Perl,5/e) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/11/25/1610035.html

weixin_30265171的博客 1138

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

第八章      以正则表达式进行匹配 1、  m// 为模式匹配操作符,其中“//”为模式定界符,也可以替换为其它成对的定界符(如:m{}、m[]、m()或m等)或不成对的单一定界符(如:m,, 、m!! 、m^ ^ 、 m# # 等),一般采用模式中不会出现的符号作为定界符,如果采用默认的“//”,则可以省略前面的“m”;2、  选项修饰符(option modifier lett

666

Perl Learning (1) —— Perl简介

小骆驼书( llama book ) Perl简介

delphiwcdj的专栏 1323

读《Learning Perl》

最近在看Learing Perl, 感触颇多啊。我的这些感触无关技术,而是感叹作者技术的广泛、精通(或者只是我的错觉?)。 一个领域的入门书籍很重要,我本来是想找Larry的那本Programming Perl,但图书馆只有一本第三版(2001年的),网站显示有6本可借的英文版(正合我意),屁颠屁颠的跑过去了,发现一本都没有。。。囧。学校的图书馆老出这种BUG。言归正传,不得不说这本LP正式适合

LoveLock 1099

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

第十六章  一些高级Perl技术 1、  在程序运行里,可以使用eval 块表达式(块后的分号不能省略,因为是表达式)来捕获严重错误,以防止程序运行时崩溃;其捕获结果存储于特殊变量 $@ 中,$@为空(“假”)时表示执行成功,否则,就表示执行过程中发生了错误,其内容为错误信息(布尔表达式结果为“真”),如:     print “An error occurred: $@” if $@

519

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

第十二章  目录操作 1、  chdir 函数用来改变工作目录,类似于shell 命令 cd;更改目录成功时返回值为“真”,否则为“假”;如果省略chdir 的参数,Perl会试图将工作目录转向当前用户的主目录;每次目录更改后都应该测试其结果;2、  shell 将命令行里的文件名模式展开成所有匹配的文件名的功能就称为globbing,也叫文件名模式匹配;如:my @files = g

726

Perl 语言入门学习

你可以从在线教程、书籍、视频课程等资源开始学习Perl。一些流行的Perl书籍包括《Learning Perl》(通常被称为“小骆驼书”)和《Programming Perl》(通常被称为“大骆驼书”)。此外,Perl的官方文档(perldoc)也是一个很好的学习资源。Perl是一种高级、通用的、解释型、动态编程语言。它以其强大的文本处理能力而闻名,尤其适合于系统管理、网络编程、图形编程以及许多其他任务。

wangbo_angel的博客 782

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

第九章      以正则表达式处理文本 1、  使用s/// 操作符可以进行“查找和替换”,其中前两个斜线之间的是模式(pattern),后两个斜线中间的是替换字符串(replacement string);替换字符串中可以使用匹配变量;使用选项修饰符 /g 可以进行全局替换;s/// 操作符有布尔型的的返回值,替换成功时为“真”,否则为“假”;2、  Perl中,可以对模式匹配到的字

672

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

第十章      其它控制结构 1、  unless 可以让程序块在条件表达式为“假”时执行,这恰与 if 相反;2、  until 可以在条件表达式为“假”时让循环执行直到表达示为“真”,这恰与 while 相反;3、  可以将既是单条件表达式又是单程序体(如选择或循环体中的语句)的选择或循环语句改作在一行中进行,这时条件表达式判断部分称为表达式修饰符,条件表达式位于整句的尾部;

517

Learning Perl, 4th Edition(2-1 数字)

2.1 数字 尽管一个scalar 通常既被使用为一个数字或者一个字符串,但是把它分开看作数字或者字符串是有用的目前。我们将首先看一下数字然后看字符串。2.1.1 所有的数字具有同样的内部格式你在下面的几个章节中将会了解,分出整数和浮点数。但是在内部,perl 计算的是双精度浮点值。这就意味着perl内部没有整数型。你可能不会注意这种perl内部的转换(或者关注了过多) ,你应该停止寻找与浮点数相

小木的专栏 1397

《Learning Perl》学习笔记 教程

第一章 简介 写在前面: 本着读书“由厚变薄,再由薄变厚”的精神,努力整理自己的思绪,将《Learning Perl》的 内容浓缩、提取,写写学习笔记,便于自己以后复习 1.每个Perl语言的开头,都是以类似 #! /usr/bin/perl 2.Perl的注释是从一个井号(#)一直到行尾的内容。 正常的Perl语句以分号(;)结尾; 另外,Perl的书写格

萧瑟一笑的专栏 1981
上一篇: Perl命令行应用介绍
下一篇: Learning Perl(Perl语言入门)学习笔记(5)
Rebollo
博客等级 码龄18年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值