Perl文件及目录操作

Perl编程实例:文件与目录操作 本文介绍了多个使用Perl语言实现的编程实例,涵盖文件操作、目录处理、符号链接识别、字符串匹配、正则表达式交互、文件时间戳获取、基本数学计算等功能。示例包括rm和mv命令的实现、信号处理、用户输入交互等,适用于熟悉Perl脚本开发的开发者。 阅读详情

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1593833729 1073750107 16 0 415 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体;} h2 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:2; font-size:18.0pt; font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} -->

Perl文件及目录操作

大多数程序都不是孤立的 , 它们与它们的环境相互作 用。很多的程序也需要通过文件操作实现数据的存贮和交换。   文件句柄 (file handle) 是 Perl 程序中为程序和外部世界提供 I/O 连接的名称。 建议全部使用大写字母以示与变量等的区别。特别地,也可以将 STDIN/STDOUT/STDERR 也认为   是 Perl 的文件句柄,分别代表标准输入 / 标 准输出 / 标准错误输出。  

打开及关闭文件  

   Perl 的文件操作与 C 语言极为相似。如:  

open(FILENAME,"abc.txt"); 

  该调用为读文件打开,若为写文件而打开,需在文件名前加上大于号:  

open(FILENAME,">abc.txt"); 

  若要追加至文件尾,可在文件名前加上两个大于号:  

open(FILENAME,">>abc.txt"); 

  以上三种 open() 格式在成功时返回真,失败时返回假。但程序中通常没有提示,出错时往往会被人们忽略。   通常当需要给出出错提示时,可加入 die() 函数。例:  

open(OUTFILE,">/tmp/outfile")|| 
die "
出错,不能建立 /tmp/outfile/n"; 

  当只有 open 失败时,才会执行 die 给出出错提示。  

  对文件句柄的操作完成后,可以用 close 操作符关闭文件。如:  

close(OUTFILE); 

-x 
文件测试  

   Perl 的文件操作也可以先测试文件是否存在,是否可读写等。如:  

$x="abc.txt"; 
if(-e $x) { #abc.txt
是否存在?  
# 
存在操作  
} else { 
printf "
文件不存在。 /n"; 
} 

-e
操作符测试文件或目录是否存在。  

  以下为文件测试清单:  



文件测试   测试操作符提供的信息  
-r 
文件或目录可读  
-w 
文件或目录可写  
-x 
文件或目录执行  
-o 
文件或目录归用户所有  
-R 
文件或目录对真正用户可读  
-W 
文件或目录对真正用户可写  
-X 
文件或目录对真正用户执行  
-O 
文件或目录归真正用户所有  
-e 
文件或目录存在  
-z 
文件存在且大小为 0 
-s 
文件或目录存在且不为 0( 返回字节数 ) 
-f 
文件为普通文件  
-d 
文件为目录  
-l 
文件为符号链接  
-p 
文件为命名管道 (FIFO) 
-S 
文件为一个套口 (socket) 
-b 
文件为块特殊文件  
-c 
文件为字符特殊文件  
-t 
打开 tty 控制台的文件句柄  
-u 
文件或目录是设置用户 ID 号  
-g 
文件或目录是设置用户组 ID 号  
-k 
文件或目录的 sticky 位置位  
-T 
文件是文本文件  
-B 
文件是二进制文件  
-M 
以天为单位的存在时间  
-A 
以天为单位访问时间  
-C 
以天为单位同代码更改时间  


删除文件  

   Perl 的 unlink() 操作符可实现删除文件。如:  

unlink("abc.txt"); #
删除 abc.txt 

文件重命名  

   Perl 的 rename() 操作符可实现文件重命名。如:  

rename("abc","zmd")||die "
出错 , 不能更名 "; 

  此时将 abc 更名为 zmd ,成功返回真,否则给出出错提示。  

目录操作  

   Perl 中处理目录非常类似于处理文件。  

  打开目录句柄:  

opendir(ETC,"/etc")||die "
出错 , 不能打开目录 "; 

  关闭目录句柄:  

closedir(ETC); 

  创建目录:  

mkdir("zmd",0777)||die "
不能创建 zmd 目录 "; 

   0777 为内部权限格式。  

  删除目录:  

rmdir("zmd")||die "
不能删除 zmd 目录 " 。

 

Perl文件与目录操作指南 本文介绍多个Perl程序示例,涵盖目录切换、文件列表显示、文件删除与重命名、硬链接与符号链接创建、符号链接信息查看等文件系统操作,并包含字符串查找、数字排序输出及FizzBuzz类逻辑控制的实现方法,适用于系统编程学习与实践。 阅读详情

相关推荐

Perl文件权限检测与目录操作编程

本文介绍如何使用Perl编写文件权限检测程序,判断文件的可读、可写、可执行状态,并处理使用chmod设置权限为0的情况。此外,还展示了如何切换目录、列出目录内容、实现rm、mv、链接创建等常见命令行功能,并提供多个Perl编程示例。

xxx12的博客 615

2.TCL脚本学习——Tk入门基础

2.TCL脚本学习——Tk入门基础 Tk 是对 Tcl 的图形工具箱扩展。Tk 发行版与 Tcl 的发行版是在一起的。 Tk第一个例子 内容如下: package require Tk button .hello -text Hello \   -command{puts stdout \   "Hello,World!"} button .goodbye -text Bye! \

badman250的专栏 6361

Perl基础学习09之perl文件目录操作

目录 文件目录操作常用操作符 stat函数 文件目录常用操作 创建文件 删除文件 创建目录 删除目录 切换目录 File::Basename模块操控路径 文件目录操作常用操作符 -s 判断文件存在且非空返回1; -e -s 均能判断文件,目录是否存在,存在返回1; -l 文件是软链接,返回1; -d 是目录返回1; -z 文件为空返回1; -M 最后一次修改时间;...

qq_21478261的博客 626

tcl/tk 调用选择路径的窗口

tk_chooseDirectory -title "选择工作空间" -initialdir "D:\\" -title 指定打开后显示的title -initialdir 指定默认打开的目录 -mustexist指定用户是否可以指定不存在的目录。如果此参数为true,则用户只能选择已存在的目录。默认值为false。 tk_getOpenFile 获取文件 tk_ge...

asdfghjk11111111的博客 1173

DIY便携式PEMF磁脉冲治疗仪:百元成本自制生物物理疗法设备

脉冲电磁场(PEMF)疗法是一种基于生物物理原理的非侵入性技术,它通过特定频率的电磁脉冲作用于细胞层面,影响细胞膜电位和离子通道活动,从而可能调节细胞代谢与功能。其技术价值在于提供了一种物理干预手段,在健康科技和生物黑客领域被探索用于放松、恢复等场景。实现PEMF的核心是通过信号发生与功率放大驱动电磁线圈产生可控磁场。本文以蓝牙音频模块和智能手机App为切入点,详细解析了如何利用低成本电子元件(如DFRobot XY-WRBT模块和漆包线线圈)构建一个可自定义频率的便携式PEMF设备,涵盖了从电路设计、线圈

weixin_31476015的博客 346

Dia 使用说明

简述 在linux上面能找到dia这个工具还是挺幸运的,因为之前画流程图总是使用ubuntu默认的word工具 在里面画图,感觉流程图使用起来麻烦,并且视觉效果真的不好看。 自从使用Dia后,感觉至少画起来流程图会变得越来越标准了。但是Dia也存在问题,就是使用的文档很少,使用中遇到为后,查起来比较费劲,但是至少问题不是很多,所以使用中遇到的几点问题我就记下来,和大家分享,加快大家的开发和文档整理能力。 我会按照遇到的问题来说,不存在使用的先后顺序。 1. Dia 去掉背景中的线条 首先去点那个大一点的蓝色

linan101的博客 4926

perl 文件,目录操作

文件检测操作符 -e 文件是否存在 -f 文件是普通文件 -d 文件是目录

乌托邦的专栏 5729

手把手教你设计T型和Π型衰减器:从理论计算到实际搭建(含误差分析)

本文详细介绍了T型和Π型衰减器的设计方法,从理论计算到实际搭建,包括电阻值推导、元件选择技巧及误差分析。通过实例演示如何设计50Ω系统中的10dB衰减器,并提供了高频应用和优化策略,帮助电子工程师掌握阻抗匹配与信号衰减的核心技术。

weixin_33737774的博客 395

Perl 获取当前目录下所有文件名

#查找该目录下所有不同子目录下的文件,并输出路径  #!/usr/bin/perl -w use strict; use File::Spec;   local $\ ="\n";#当前模块的每行输出加入换行符     my %options;   ###目录路径 $options{single_case} = 's';#$path= 's';也可     my @case

mjj_1094的博客 4779

一文解释电路中常用电子元器件应用和选型01

电容和二极管是电路中最常用的两个电子元器件,种类和系列众多,这里简单总结一下应用场景和选型方式 电容(Capacitor) 电容的种类(20种以上)和应用非常广泛,但是我经常遇到的无非就是下面这几种: 应用 1.隔直流。 2.旁路(去耦) 3.耦合 4.滤波 5.温度补偿 6.计时 7.调谐 8.整流 9.储能 种类 1. 陶瓷电容 2. 云母电容 3. 铝电解电容 4. 钽

weixin_43904073的博客 2236

群晖设置公网ipv6方式域名解析访问

群晖、IPV6、域名解析

爬山虎的博客 2万+

TensorFlow 实战(三)—— 实现常见公式

tf.reduce_mean (求向量的均值)等价于 1N∑i=1Nxi 1. 对权值矩阵进行 l2 正则 def variable_with_weight_loss(shape, stddev, w1): var = tf.Variable(tf.truncated_normal(shape, stddev=stddev)) ...

weixin_30878501的博客 222

保姆级教程:用SNAP处理哨兵一号数据,5步搞定城区范围提取(附江西晋城案例)

本文提供了一份详细的保姆级教程,介绍如何使用SNAP软件处理哨兵一号数据,通过5个关键步骤快速提取城区范围。以江西晋城为例,教程涵盖数据准备、预处理、核心处理流程、自动化搭建及成果分析,帮助用户轻松掌握SNAP操作技巧,适用于城市规划、环境监测等领域。

weixin_32535389的博客 452

perl 文件目录操作

perl 内置函数的操作 perl目录操作, 创建目录句柄指向要操作的目录。 打开目录句柄使用 opendir ; opendir dirhandle,directory ; 例:取某目录下文件的列表: opendir (e,'E:\娱乐\music\阿杜')|| die"can't open e: $!" ; @files=readdir e;  closedir(e) ;

Shao_You的博客 1507

医学图像分割评价指标详解:从Dice到MSD的实战解析

本文深入解析医学图像分割的核心评价指标,从最常用的Dice相似系数到衡量边界精度的MSD(最大对称表面距离),通过实战案例与代码演示,系统阐述各指标的计算原理、应用场景及临床意义,帮助读者全面评估模型性能。

weixin_29070721的博客 593

openssl+SM2开发实例一(含源码)

是中国国家密码管理局(CNCA)颁布的椭圆曲线密码算法标准,属于非对称加密算法。它基于椭圆曲线离散对数问题,提供了安全可靠的数字签名、密钥交换和公钥加密等功能。SM2被设计为适用于各种场景下的密码学应用,包括数字证书、数据加密、数字签名、身份认证等。SM2是一种非对称加密算法,意味着它使用两个密钥:公钥和私钥。公钥用于加密数据和验证签名,而私钥用于解密数据和生成签名。SM2基于椭圆曲线密码学(Elliptic Curve Cryptography,ECC),使用椭圆曲线上的点运算来实现加密和签名操作。

N阶二进制的博客 7986

perl重点学习笔记之目录文件操作

a

一个2货的成长历程 905

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Perl文件目录操作

目录   文件操作 open函数 close函数 读写文件 文件重命名 demo 删除文件   目录操作 function demo 文件操作 Perl文件操作比较好理解,将文件open后得到一个handle,通过这个handle对文件进行操作,和Linux相关系统接口非常类似,这个handle可以理解为Linux接口里的文件描述符。支持3种标准HANDLE:STDIN...

Hunk的菜鸟之路 1495

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: perl几个读取文件命令
下一篇: perl 多行注释
wunderup
博客等级 码龄20年 13粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值