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. java锁(转)

    Java中锁分类 锁的分类 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁(java.util.concurrent包下的几乎都 ...

  2. JavaScript函数、对象和数组

    一.JavaScript函数 1.定义函数:函数的通用语法如下 function function_name([parameter [, ...]]) { statements; } 由关键字func ...

  3. 创建JDBC六个步骤

    JDBC库中所包含的API通常与数据库使用于: 连接到数据库 创建SQL或MySQL语句 在数据库中执行SQL或MySQL查询 查看和修改数据库中的数据记录 创建JDBC应用程序 建立一个JDBC应用 ...

  4. linux中mysql安装(配图)

    环境: 1.操作系统:CentOS release 6.8 (Final) 2.安装版本: mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz 3.下载地址:http: ...

  5. 安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答(Python2.7)

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  6. Python常用的类库、对应的方法和属性

    Python常用的类库.对应的方法和属性

  7. K3老单序时簿开发示例

    K3需要对老单进行二次开发,老单的二次开发比较麻烦,这里整理一下老单序时簿上添加按钮的二次开发示例. --以下SQL脚本--获取 MENU IDselect FID,FmenuID,FName fro ...

  8. Window逆向基础之逆向工程介绍

    逆向工程 以设计方法学为指导,以现代设计理论.方法.技术为基础,运用各种专业人员的工程设计经验.知识和创新思维,对已有产品进行解剖.深化和再创造. 逆向工程不仅仅在计算机行业.各行各业都存在逆向工程. ...

  9. codeforces div2_604 E. Beautiful Mirrors(期望+费马小定理)

    题目链接:https://codeforces.com/contest/1265/problem/E 题意:有n面镜子,你现从第一面镜子开始询问,每次问镜子"今天我是否美丽",每天 ...

  10. util之Queue

    定义:ArrayDeque<Integer> queue = new ArrayDeque<Integer>(); offer();添加元素 Peek()返回队列首部元素值 P ...