`
liqing6044313
  • 浏览: 37858 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

perl文件目录操作

 
阅读更多
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文件用法

    - 如`-f`, `-d`, `-e`等用于检查文件或目录的状态,例如`-e $filename`检查文件是否存在。 11. **数据结构** - 除了数组和哈希,还有数组引用和哈希引用,用于创建复杂的数据结构。 - 引用用`\`符号创建,如`\@...

    Perl实现文件及数据库访问

    在这个主题中,我们将深入探讨Perl在文件操作和数据库连接方面的应用。 在文件操作方面,Perl提供了丰富的内置函数来读取、写入、追加和操作文件。例如,`open()` 函数用于打开一个文件,`<FILEHANDLE>` 用于读取...

    perl 下dmake 所需要的 安装文件

    总的来说,通过将`dmake`安装文件放入Perl的`site`目录,可以方便地在Windows环境下为Perl设置一个构建工具,这对于开发和维护Perl项目尤其有用。记住,保持Perl环境的整洁和模块化对于长期的项目维护是非常重要的。

    perl文件完整版

    同时,深入学习Perl的核心模块和标准库,如CGI用于Web编程,DBI用于数据库操作,以及LWP和URI模块进行HTTP请求等。此外,熟悉CPAN(Comprehensive Perl Archive Network),这是Perl的模块仓库,可以找到大量现成的...

    Perl之读取文本文件

    - **文件操作的最佳实践**:建议使用更安全且易于理解的文件打开方式,例如使用`my $fh; open($fh, ', 'filename') or die "Cannot open file: $!";`。 通过以上分析,我们可以看到Perl在处理文本文件方面非常灵活...

    使用perl读写文件

    对学习使用Perl操作文件时写的,在开始学习对Perl文件操作时,使用了$_,导致调试了很长时间,现在改正后做笔记到此

    perl获取文件修改时间

    其中,获取文件的修改时间是Perl在文件操作中的一个常见且实用的功能,尤其对于需要监控文件更新状态或进行定时备份等场景至关重要。 ### Perl获取文件修改时间详解 #### 一、`stat`函数解析 在Perl中,`stat`...

    perl读写xml文件

    这篇博客文章“perl读写xml文件”很可能是关于如何在Perl中操作XML文件,包括解析XML内容、提取数据、修改数据以及生成新的XML文件。 Perl提供了多个模块来处理XML,最常用的是XML::Simple和XML::LibXML。XML::...

    perl解析excel文件

    6. **文件操作**:确保在操作文件时正确处理文件句柄,防止数据丢失。在读取和写入文件时,使用“open”函数并指定正确的模式(如'r'和'w'),并在完成后关闭文件。 在实际项目中,你可能还需要考虑其他因素,如...

    perl替换脚本(用于替换文本文件中的单词)

    如果可能,最好在小范围内测试脚本的正确性,再应用于大规模的文件操作。 总结来说,这个Perl替换脚本结合配置文件和批处理文件,提供了一种高效、灵活的文本替换解决方案,尤其适用于批量处理大量文本文件的情况。...

    Perl分析文件夹大小示例

    Perl的灵活性和强大的文件操作功能使得它非常适合这类任务。 首先,我们需要理解基本的Perl语法和文件系统操作。在Perl中,`<directory>`是用于表示目录的符号,`opendir()`函数用于打开一个目录,`readdir()`用于...

    perl Excel操作

    首先,Perl中实现Excel操作主要依赖于第三方模块,如Spreadsheet::ParseXLSX(用于读取Excel 2007及以上版本的xlsx文件)和Spreadsheet::WriteExcel(用于创建Excel文件)。这两个模块可以从CPAN(Comprehensive ...

    ActivePerl安装文件

    标题中的"ActivePerl安装文件"表明这是一个用于安装ActivePerl的程序包,而描述中的"ActivePerl-5.16.3.1604-MSWin32-x64-298023"则具体指出了这是ActivePerl的特定版本,即5.16.3,针对64位的Windows操作系统。...

    Perl 6 技术参考手册_PERL技术参考_Perl_

    本技术参考手册深入探讨了Perl 6的核心概念,包括语法特性、文件操作、集合处理、数据库交互以及实际应用案例,旨在为开发者提供全面且实用的指导。 一、Perl 6 语法特性 Perl 6 引入了许多新的语法元素,以提高...

    Perl 将只读文件属性改成可写文件属性 source

    根据提供的文件信息,我们可以总结出以下关键知识点: ### 1. Perl 脚本概述 ...它不仅包含了基本的文件操作,还涉及到了正则表达式的使用、权限控制等知识点,对于学习Perl编程具有很好的参考价值。

    strawberry-perl-5.32.1.1-64bit perl 解释器

    3. c:这个目录可能包含了与C语言相关的文件,因为Perl可以与C语言进行混合编程,提供更底层的控制和性能提升。 4. cpan:CPAN(Comprehensive Perl Archive Network)是Perl的一个重要资源库,包含了数万种Perl模块...

    最经典的PERL学习文件——Perl语言入门

    Perl提供了丰富的I/O操作功能,包括从标准输入读取数据、向标准输出发送数据,以及使用`open`、`close`、`print`等函数操作文件句柄。`printf`函数用于格式化输出,`<STDIN>`则用于读取标准输入的列表数据。 #### ...

    linux下perl,sed,shell批量替换文件内容.docx

    其中,`find` 命令用于查找指定文件名,`xargs` 命令将结果传递给 Perl 命令,`perl -pi -e` 命令将执行 Perl 代码,`s|被替换的字符串|替换后的字符串|g` 是 Perl 代码,用于执行字符串替换操作。 例如,要将当前...

    QTxlsx库和需要的perl安装文件

    QTxlsx库是一款基于Qt框架的C++库,专门用于创建和操作Excel(XLSX)文件。这个库为Qt开发者提供了一个简洁的API,让他们能够方便地读取、写入和编辑Excel电子表格数据,而无需依赖Microsoft Office或类似的第三方应用...

Global site tag (gtag.js) - Google Analytics