1.

chmop($line=<STDIN>) ;  #读取下一行,截掉换行符。

2.

while(defined($line=<STDIN>) {

print " $_ ”;

}

3.

while(<STDIN>) {

print ”$_";

}

等价于

while(defined($_ = <STDIN>) {

print " $_";

}

4.钻石操作符 <> 时行输入操作符的特例。不从键盘取得输入,而是用户指定位置。

$ ./my_programe fred barney betty

while (defined($line =< >) {

chomp($line);

print ""

}

等价于

while(<>) {

chomp;

print " $_";

}

5.调用参数

<> 不会去检查命令行参数,其参数来自数组 @ARGV #Perl 解释器事先建立起来的特殊数组。

@ARGV = qw /a b c d/;

while (< > ) {

chomp;

print "$_ in some stooge-like file !";

}

6.输出到标准输出

print @C  #abcd

print "@C"  #a b c d  有空格

一般情况下程序的输出先到缓冲区,积攒起来,量大再造访外部设备。

print <> #相当于Unix的cat

print sort <> # 相当于Unix的sort

printf 格式化输出。和C语言类似。

7.打开文件句柄。

Perl 提供的默认文件句柄:STDIN STDOUT STDERR

其他句柄,使用open操作符告诉Perl

open  CONFIG,'dino'  #打开文件dino,从句柄CONFIG读取

open  CONFIG,'<dino'  # < 为只读

open  CONFIG ,'>fred'  #打开文件句柄CONFIG,并输入到新的文件fred.

open CONFIG ,'>>fred'  #追加式打开,若fred存在则追加在尾部,若不存在,则创建再写入。

my $selected_output = 'my_output';

my $sucess = open LOG , "> $selected_output";

if (! $sucess) {

#

}

8.关闭句柄 close  LOG

9.die处理致命错误

0  sucess

1  语法错误

2 处理程序时发生错误

3 找不到某个配置文件

if  (!open LOG,'>>' ,'logfile') {

die "can not create logfie : $!"   # $!指可读的系统错误信息,如permission denied / file not find

}

Die 自动显示Perl 程序名和行号;

若不想显示则在末尾加\n 换行符。

if(@ARGV < 2) {

die "Not enough argumeng \n"  #不显示程序名和行号

}

10.改变默认文件句柄

select BD

$| =1;   # 立刻刷新输出,不经过缓冲区缓存。

print  BD " i hope this will come true!“

输入与输出 Perl 第五章的更多相关文章

  1. JavaWeb_(Mybatis框架)输入和输出参数_五

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

  2. 【知识强化】第五章 输入/输出(I/O)管理 5.2 I/O核心子系统I

    学习I/O核心子系统相关的一系列功能. 设备独立性软件.设备驱动程序.中断处理程序这三层其实是属于操作系统的内核部分的,所以它们也称作“I/O核心子系统”,又可以简称为“I/O系统”.在考研当中我们需 ...

  3. perl学习笔记——输入与输出

    读取标准输入 用<STDIN>进行标准输入:chomp($line=<STDIN>); 如果读到文件尾,行输入操作符就会返回undef.便可利用这一性质跳出循环. while( ...

  4. 《深入理解Android 卷III》第五章 深入理解Android输入系统

    <深入理解Android 卷III>即将公布.作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白.即Android Framework中和UI相关的部分. ...

  5. 【学习笔记】第七章 python3核心技术与实践--输入与输出

    [第六章]思考题答案,仅供参考: # coding:utf-8import time#方法一start_time = time.perf_counter()s = ''for n in range(0 ...

  6. perl学习(5) 输入和输出

    1.1. 从标准输入设备输入 <STDIN> 行输入操作在到达文件的结尾时将返回undef,在while循环的条件中不能使用chomp: while (defined($line = &l ...

  7. c语言学习笔记第四章——字符串和格式化输入、输出

    B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...

  8. C++ primer plus读书笔记——第17章 输入、输出和文件

    第17章 输入.输出和文件 1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正.C++程序通常在用户按下回车键时刷新输入缓冲区. 2. 一些I/O类 streambuf类为缓冲区提供了 ...

  9. 《C++ Primer Plus》第17章 输入、输出和文件 学习笔记

    流是进出程序的字节流.缓冲区是内存中的临时存储区域,是程序与文件或其他I/O设备之间的桥梁.信息在缓冲区和文件之间传输时,将使用设备(如磁盘驱动器)处理效率最高的尺寸以大块数据的方式进行传输.信息在缓 ...

随机推荐

  1. [LGR-054]洛谷10月月赛II

    浏览器 结论popcnt(x^y)和popcnt(x)+popcnt(y)的奇偶性相同. 然后就是popcnt为奇数的乘为偶数的.预处理一下\(2^{16}\)次方以内的popcnt,直接\(O(1) ...

  2. for循环与闭包

    Es5 function box(){ var arr = []; ;i<;i++){ arr[i] = (function(num){ //自我执行,并传参(将匿名函数形成一个表达式)(传递一 ...

  3. 字符串匹配算法--暴力匹配(Brute-Force-Match)C语言实现

    一.前言 暴力匹配(Brute-Force-Match)是字符串匹配算法里最基础的算法,虽然效率比较低,但胜在方便理解,在小规模数据或对时间无严格要求的情况下可以考虑. 二.代码 #include & ...

  4. 一点点学习PS--实战五

    本节实战的内容,新学习到的功能是:人物影子边缘.立体的心形 1.工具的使用: (1)滤镜--模糊--特殊模糊 (2)滤镜--滤镜库--艺术效果--水彩 (3)滤镜--滤镜库--纹理化 (4)自动形状工 ...

  5. 2019牛客多校第五场B generator 十进制快速幂

    generator 1 题意 给出\(x_0,x_1,a,b\)已知递推式\(x_i=a*x_{i-1}+b*x_{i-2}\),出个n和mod,求\(x_n\) (n特别大) 分析 比赛的时候失了智 ...

  6. POJ 1330(LCA/倍增法模板)

    链接:http://poj.org/problem?id=1330 题意:q次询问求两个点u,v的LCA 思路:LCA模板题,首先找一下树的根,然后dfs预处理求LCA(u,v) AC代码: #inc ...

  7. Windows下编译Google.Protobuf在Qt(C++)中使用与Unity3d(C#)交互

    1.首先从Github-Protobuf下载代码,本文下载的版本号是3.1.0. 2.仔细查看各个README,有相关的资源下载和编译说明. 3.在一个方便的地方创建一个Install类型的文件夹,放 ...

  8. http请求常见错误状态码

    一.HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无法重复此请求. 原因:(调用方接口方法的实参和服务器接口方法的形参不一致) 1.前端提交数据 ...

  9. Java+Selenium+Testng自动化测试学习(四)— 报告

    自动化测试报告,在测试用例完成之后系统自动生成HTML报告 使用testng中的报告模板生成报告, 1.在TestSuit.xml文件中配置报告监听 2.运行xml文件 3.自动生成一个test-ou ...

  10. Redis Distributed lock

    using StackExchange.Redis; using System; using System.Collections.Generic; using System.Linq; using ...