输入与输出 Perl 第五章
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 第五章的更多相关文章
- JavaWeb_(Mybatis框架)输入和输出参数_五
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...
- 【知识强化】第五章 输入/输出(I/O)管理 5.2 I/O核心子系统I
学习I/O核心子系统相关的一系列功能. 设备独立性软件.设备驱动程序.中断处理程序这三层其实是属于操作系统的内核部分的,所以它们也称作“I/O核心子系统”,又可以简称为“I/O系统”.在考研当中我们需 ...
- perl学习笔记——输入与输出
读取标准输入 用<STDIN>进行标准输入:chomp($line=<STDIN>); 如果读到文件尾,行输入操作符就会返回undef.便可利用这一性质跳出循环. while( ...
- 《深入理解Android 卷III》第五章 深入理解Android输入系统
<深入理解Android 卷III>即将公布.作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白.即Android Framework中和UI相关的部分. ...
- 【学习笔记】第七章 python3核心技术与实践--输入与输出
[第六章]思考题答案,仅供参考: # coding:utf-8import time#方法一start_time = time.perf_counter()s = ''for n in range(0 ...
- perl学习(5) 输入和输出
1.1. 从标准输入设备输入 <STDIN> 行输入操作在到达文件的结尾时将返回undef,在while循环的条件中不能使用chomp: while (defined($line = &l ...
- c语言学习笔记第四章——字符串和格式化输入、输出
B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...
- C++ primer plus读书笔记——第17章 输入、输出和文件
第17章 输入.输出和文件 1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正.C++程序通常在用户按下回车键时刷新输入缓冲区. 2. 一些I/O类 streambuf类为缓冲区提供了 ...
- 《C++ Primer Plus》第17章 输入、输出和文件 学习笔记
流是进出程序的字节流.缓冲区是内存中的临时存储区域,是程序与文件或其他I/O设备之间的桥梁.信息在缓冲区和文件之间传输时,将使用设备(如磁盘驱动器)处理效率最高的尺寸以大块数据的方式进行传输.信息在缓 ...
随机推荐
- 363. 矩形区域不超过 K 的最大数值和(利用前缀和转化为最大子序和问题)
题目: 链接:https://leetcode-cn.com/problems/max-sum-of-rectangle-no-larger-than-k/ 给定一个非空二维矩阵 matrix 和一个 ...
- 55.ORM外键:引用同app下的不同模型,引用不同app下的模型,引用模型自身使用详解
外键和表关系 外键是属于数据库级别的,在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的.外键的存在使得ORM框架在处理表关系的时 ...
- jQuery---入口函数的写法
入口函数的写法 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&quo ...
- 使用JavaMail发送邮箱详解
package com.gqz.forfuture.email; import java.util.Date; import java.util.Properties; import javax.ma ...
- Redis 数据结构的底层实现 (二) dict skiplist intset
一.REDIS_INCODING_HT (dict字典,hashtable) dict是一个用于维护key和value映射关系的数据结构.redis的一个database中所有的key到value的映 ...
- POJ2456 Aggressive cows(二分)
链接:http://poj.org/problem?id=2456 题意:一个数轴上n个点,每个点一个整数值,有c个奶牛,要放在这些点的某几个上,求怎么放可以使任意两个奶牛间距离的最小值最大,求这个最 ...
- java 判断数据是否为空
/** * 方法描述:自定义判断是否为空 * 创建作者:李兴武 * 创建日期:2017-06-22 19:50:01 * * @param str the str * @return the bool ...
- Makefile文件(DE1-soc软件实验”hello_word")
DE1-soc软件实验”hello_word"中,hello_word此程序很好理解,那Makefile文件又如何理解呢? 所要完成的Makefile 文件描述了整个工程的编译.连接等规则. ...
- logits的用法和此类标注的作用,已经再最后一层加了映射了就不需要再加入了
logits的用法和此类标注的作用,已经再最后一层加了映射了就不需要再加入了 待办 PyTorch(tensorflow类似)的损失函数中,有一个(类)损失函数名字中带了with_logits. 而这 ...
- 前端框架vue.js系列(9):Vue.extend、Vue.component与new Vue
前端框架vue.js系列(9):Vue.extend.Vue.component与new Vue 本文链接:https://blog.csdn.net/zeping891103/article/det ...