`
ahcming
  • 浏览: 19198 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Perl 文件操作

    博客分类:
  • perl
阅读更多

一:打开文件

open(MyFile, "文件") or die("Can't open file. $!");
open(MyFile, "<文件") || die("Can't open file.");              // 同上,以读的模式打开文件
open(MyFile, ">文件") || die("Can't write file.");             // 以写的模式打开文件
open(MyFile, ">>文件") || die("Can't append file.");           // 以追加模式打开文件

 

二:关闭文件

close(MyFile);

 

三:读文件

    1.逐行读

while(my $line = <MyFile>) {
    # 对$line进行操作
}

 

   2.全部读

@allLine = <MyFile>;
#对@allLine进行操作

 

   3.读其它格式的文件

.gz格式文件
open(FIN,"gzip -dc $infilename|") or die ("can not open $infilename\n");

.tgz(.tar.gz)格式文件
open(FIN,"tar -xf $infilename -o|") or die ("can not open $infilename\n");

7zip格式文件
open(FIN,"7za e -so $infilename|") or die ("can not open $infilename\n");
 

四:写文件

  首先以写模式或追加模式打开文件

print MyFile "输出内容";

 

五:对文件进行操作

   1.对文件属性进行判断

-r                    # 文件或目录,对目前(有效的)用户或组可读
-w                    # 基本同上,可写
-x                    # 可执行
-o                    # 拥有

-R                    # 文件或目录,对实际的用户或组可读
-W                    # 可写
-X                    # 可执行
-O                    # 拥有

-e                    # 是存在的
-z                    # 存在但为空(对目录而言,永远为假)
-s                    # 存在不为空,返回以字节为单位的大小数值

-f                    # 普通文件
-d                    # 目录 
-l                    # 符号链接
-S                    # socket类型文件
-p                    # 管道
-b                    # 块设备文件(磁盘)
-c                    # 字符设备文件(I/O设备)

-u                    # 设置了setuid位
-g                    # 设置了setgid位
-k                    # 设置了sticky位
-t                    # 文件句柄是TTY设置

-T                    # 看起来像是文本文件
-B                    # 看起来像是二进制文件

-M                    # 最后一次修改后至今天的天数
-A                    # 最后一次访问到今天的天数
-C                    # 最后一次文件节点修改后至今天的天数
 

   2.删除文件

 

六:对目录进行操作

实例代码

递归遍历目录,并对文件进行处理

 
#用户递归遍历$FilePath下所有文件和目录
sub myOpen {
   my($path) = @_;
   if( -d $path ) {
      # 打开目录 
      opendir(DIR,$path) or die "Can't open $path. $!";
      # 读取目录下所有文件
      while( my @Files = readdir(DIR) ) {
         foreach $file (@Files) {
            # 过滤掉隐藏文件
            next if $file =~ /^\./;
            $eachFile = $path . $file . "/";

            if( -d $eachFile ) {
               #如果当前文件是目录,则递归遍历
               &myOpen($eachFile);
            } else {
               #如果当前文件是普通文件,则解析之
               &prase($path,$file);
            }
         }
      }
   } else {
      print "error \n";
      return 0;
   }
}
分享到:
评论

相关推荐

    使用perl读写文件

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

    perl文件用法

    - 使用`open`函数打开文件,然后通过`或`&gt;`操作符读写文件。 - `&lt;&gt;`运算符可以逐行读取文件,例如`while () { ... }`。 5. **正则表达式** - Perl是正则表达式的强大工具,可以使用`=~`操作符匹配和替换字符串中...

    PERL编程24学时教程005

    【Perl编程24学时教程005】深入解析文件操作 Perl作为一种强大的脚本语言,不仅能够处理复杂的文本操作,还能与外部世界进行交互,其中最重要的...在后续的学习中,我们将继续探索更多有关Perl文件操作的高级特性。

    Perl实现文件及数据库访问

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

    perl文件完整版

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

    简单perl计数器程序

    ### 知识点二:Perl 文件操作 - **打开文件**:使用 `open()` 函数打开文件,例如 `open(DATA, "$data")` 打开名为 `$data` 的文件进行读取操作;`open(DATA, "&gt;$data")` 打开文件进行写入操作。 - **读取文件**:...

    Perl之读取文本文件

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

    perl获取文件修改时间

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

    perl编程24小时教程

    - 文件句柄和模式的概念是理解Perl文件操作的关键。 9. **错误处理** - 使用`eval`函数捕获运行时错误,以及`die`和`warn`函数用于程序异常和警告信息。 10. **对象导向编程** - Perl 5.6引入了完整的面向对象...

    perl 下dmake 所需要的 安装文件

    标题提到的是“Perl下dmake所需要的安装文件”,这意味着我们需要在Perl环境中安装和配置`dmake`。`dmake`的安装通常包括获取源代码、编译和安装三个步骤,但在本场景中,我们可以通过直接复制提供的压缩包中的文件...

    Perl语言入门(第四版)

    - 文件句柄和输入/输出缓冲区的概念是理解Perl文件操作的关键。 5. **模块和CPAN**: - Perl的模块系统允许扩展其功能,CPAN(Comprehensive Perl Archive Network)是最大的开源Perl模块库。 - 使用`cpan`或`...

    perl读写xml文件

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

    perl解析excel文件

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

    Perl中的文件读写学习笔记

    文件的读取和写入是Perl文件操作的核心部分。对于读取,有几种方式: 1. 读取单行:`$line = ;` 2. 一次性读取整个文件内容到数组:`@array = ;` 写入文件通常涉及`print`函数: ```perl open (OUTFILE, "&gt;...

    perl Excel操作

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

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

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

    ActivePerl安装文件

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

    perl读写文件代码实例

    #### 一、Perl文件操作简介 Perl是一种广泛使用的脚本语言,特别适合于文本处理和文件操作。在Perl中,读取和写入文件是常见的任务之一,Perl提供了多种内置函数来处理这些操作。本文将通过具体的代码示例详细介绍...

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

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

Global site tag (gtag.js) - Google Analytics