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. Linux环境下C语言线程创建---简单代码

    在Linux环境下用C语言编写线程创建. //file name: pthreadtext.c #include <stdio.h> #include <pthread.h> ...

  2. Ecshop各个页面文件介绍,主要文件功能说明

    1.模板文件说明 style.css – 模板所使用样式表activity.dwt – 活动列表article.dwt – 文章内容页article_cat.dwt – 文章列表页article_pr ...

  3. vue使用kkfileview文件预览功能

    1.环境要求: java 1.8+ 2.部署运行: 本机以及虚拟机上运行: 1.从https://gitee.com/kekingcn/file-online-preview/releases地址下载 ...

  4. opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置

    在sift算法实现中,出现了这个问题 出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法 ...

  5. html中多选框变单选框

    就是一个小js,直接上代码 $("input[name='checkboxlist']").each(function () { if (this.checked &&am ...

  6. echart--自己写的例子

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. PP: Pattern Trails: visual analysis of pattern transitions in subspaces

    Problem: 1. We can't find patterns in full attribute space, and patterns may only be found in smalle ...

  8. spring boot 运行错误: 找不到或无法加载主类

    在项目根目录运行 mvn clean install 进行重新编译 不行的话就删了原有的启动配置,重新配置启动.

  9. Java学习笔记(十一)面向对象---多态

    多态的体现 父类的引用指向了自己的子类对象. 父类的引用也可以接受自己的子类对象. 代码体现 abstract class Animal { public abstract void eat(); } ...

  10. npm解决node-sass安装失败

    npm装包一直都很成功,直到我遇见了node-sass这个包 我一直报这样的错误 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sas ...