一、文件描述符:

访问文件时用来代表文件的数字。

它是系统资源,系统限制打开的文件描述符数量。

Perl中只在某些系统调用时才使用它

文件句柄:

功能同文件描述符,但是与文件描述符不是一个东西。

Perl使用文件句柄代表文件。

文件描述符与文件句柄互相转化:

文件句柄=>文件描述符:fileno(F);返回文件描述符

文件描述符=>文件句柄:open(F,”>&n”);

二、文件变量
     文件:存放在磁盘上,永久存储数据,用于读写访问。访问前要先打开文件,结束后关闭文件。

open(HANDLE,”>filename”)||die $!;    成功返回非零,失败返回零。

HANDLE:文件句柄,文件变量.用来代表操作的文件,以字母开头,字母,数字,下划线组成,不以$,@,%类的符号开头,可能与关键字if等重名,故一般用大写字母.

缺省打开的句柄STDIN,STDOUT,STDERR,文件描述符为0,1,2。不用调用open就可以直接访问

STDIN:键盘输入,控制台

STDOUT:屏幕,显示屏

STDERR:错误输出,显示屏。

三、访问模式
     文件用于读还是写,在第二个参数前的>位置。

(1) 只读:<或省略,若文件不存在则打开失败,如open(F,”file”),open(F,”<file”)
     (2) 只写:>,为写打开文件,若文件不存在则创建,文件存在则清除内容再写.
     (3) 追加:>>,为写打开文件,若文件不存在则创建,文件存在则不清除内容,在原内容后追加。
     (4) 读写:+<,可读可写,若文件不存在则打开失败,不清除内容,不追加,直接复盖原文件.
     (5) 读写+>,可读可写,若文件不存在则创建,文件存在则清除内容再写.
     (6) 读写+>》,可读可写,若文件不存在则创建,文件存在则追加.
     (7) 管道: |

 open(F,”| cat >hello”),把文件F的输出(print F $a)作为|后的输入.open(F,”comm|”),把comm的输出作为F的输入。

四、文件名

Filename:可以是相对路径或绝对路径的文件名.
     说明:
     1.不含路径的文件名前的空格可以忽略,但有路径的文件名不能。
     2.可以用变量来代表文件名.
     3.特殊的文件名如”>file”,可能使读变成写,使用变量代表文件名时注意过滤文件名.
     4.复制文件句柄:open(F,”>&STDOUT”),写入F文件的内容都变成写入屏幕STDOUT
     5.使用文件描述符:open(F,”>&3″),把文件描述符复制成句柄,或者”>&=3″
     6.open() 打开成功返回非零,失败返回零.

open()||die “error $!”  成功时不执行die,失败时执行.

转载于:https://www.cnblogs.com/Hebe/p/4441767.html

Perl学习笔记(六)--文件(一)相关推荐

  1. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  2. opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  3. 【K210】K210学习笔记六——MaixHub在线模型训练识别数字

    [K210]K210学习笔记六--MaixHub在线模型训练识别数字 前言 K210准备工作 数据的获取 MaixHub如何在线训练模型 训练模型在K210上的测试 小结 前言 本人大四学生,电赛生涯 ...

  4. Java学习笔记 六、面向对象编程中级部分

    Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...

  5. oracle学习笔记 参数文件及数据库的启动和关闭

    oracle学习笔记 参数文件及数据库的启动和关闭 我们这节课把oracle的参数文件以及oracle的启动关闭讲一下 一)参数文件作用 先看oracle的参数文件 它由来已久了 我们知道oracle ...

  6. libevent学习笔记六:libevent核心事件event

    libevent学习笔记六:libevent核心事件event 前面对reactor模式.事件处理流程.libevent源代码结构等有了高层的认识后,接下来将详细介绍libevent的核心结构even ...

  7. Ethernet/IP 学习笔记六

    Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...

  8. android中资源文件的两种访问方式,Android_Android学习笔记-保存文件(Saving Files),Android设备有两种文件存储区域 - phpStudy...

    Android学习笔记-保存文件(Saving Files) Android设备有两种文件存储区域: 内部存储和外部存储 ("internal" and "externa ...

  9. 吴恩达《机器学习》学习笔记六——过拟合与正则化

    吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...

  10. Python学习笔记:文件(File)

    Python学习笔记:文件(File) 打开一个文件用于读写,在Python里十分简单,利用内置open函数,可以用绝对路径,也可以用相对路径. 默认模式是'r',只读模式. 文件句柄f是一个可迭代对 ...

最新文章

  1. UGC产品的氛围和秩序
  2. android中OnItemClickListener的参数解释
  3. ROS + OpenCV
  4. solidity数据位置
  5. 让你少走弯路,这里有一份机器学习高效入门指南
  6. 如何录制电脑系统声音(Audacity)
  7. 智鹰科技——无人机线路巡检系统商业计划书
  8. 设计模式——Facade(外观)模式
  9. 泛微E8创建自定义文档
  10. 蓝桥杯-模拟风扇控制系统
  11. win7系统激活最简单方法
  12. The Derivation About CNN and Antoencoder
  13. 渗透bc网站教学_督导引领共交流 听课评课共成长 怀化锦溪小学开展课堂教学督导听课活动_都市新闻_新闻中心...
  14. 京东到家程序员离职当天删库跑路
  15. Jedis的简单介绍
  16. 安卓模仿微信通讯录--RecyclerView+SideBar
  17. Sql server 的完整备份和差异备份
  18. nowcoder_Bookshelf Filling_二分
  19. c语言用if语句判断字符类型,C语言if语句的使用
  20. 实现一个自己的搜索引擎的初始规划(2017版)

热门文章

  1. 常用数学特殊符号,复制到word中使用
  2. [react] 你有用过React的插槽(Portals)吗?怎么用?
  3. react(84)--多张图片
  4. [html] 怎样禁用页面中的右键、打印、另存为、复制等功能?
  5. [js] 使用js实现一个循环队列
  6. 前端学习(2565):watch监听
  7. 工作总结17:组件封装思想
  8. 前端学习(1748):前端调试值之console的一些设置
  9. 前端学习(711):数组导读
  10. 计算机操作系统(4):操作系统的重要功能