Perl中读写文件的方法非常简单,可以使用open或sysopen函数来打开文件,linux下运行perl脚本只需 ./XX.pl 或 perl XX.pl。

读文件

open(文件句柄, "<文件名");或者 open(文件句柄, "文件名");

如:open (IN, "./test.txt");

  while (<IN>) {

    chomp; #去掉换行符(/n);

    print $_; #perl将每一行赋给“$_”这样一个内置变量里。

  }

  close(IN);

写文件

open(文件句柄, ">文件名"); #覆盖原文件的内容。

open(文件句柄, ">>文件名"); #追加写入文件。

如:open (OUT, "./result.txt");

  my $str = "I love Perl.";

  print OUT "$str\n";

  close(OUT);

PS:在读写文件时,经常伴有对字符串的拆分,这时一个非常有用的函数是split函数,把字符串分割并将结果存入数组中,下面做简单介绍:

perl的split函数使用正则表达式,未特定则工作在$_上。

用法:@array = split (/<reg>/, $line);或@array = split(/<reg>/);

如:$str="Caine:Michael:Actor:14,LeafyDrive";

@array=split(/:/,$str); #@array=("Caine","Michael","Actor","14,LeafyDrive");

  • //之间表示split用到的正则表达式(或分隔法则);
  • \s是一种常用的通配符,代表空格。
  • +代表重复一次或者一次以上;
  • 故\s+代表一个或者一个以上的空格;
  • 字符串比较用“eq” 和“ne”;

  • 字符串连接用 “.” 。

  • 截取字符串:my $substr1=substr("I love Perl",2,5);#截取第三个字符开始的5个字符,即“love ”;

Perl读写文件&字符串操作的更多相关文章

  1. Perl读写Excel简单操作

    Perl读写Excel简单操作 使用模块 Spreadsheet::ParseExcel Spreadsheet::WriteExcel 读Excel #!/usr/bin/perl -w use s ...

  2. Java-IO读写文件简单操作2

    承接Java-IO读写文件简单操作,这里再次写个小demo巩固一下知识点. 代码文件:demo.java package com.test.demo; import java.io.*; public ...

  3. Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)

    最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...

  4. Perl中文件读取操作

    Perl中文件读取操作 http://blog.csdn.net/yangxuan12580/article/details/51506216

  5. python读写文件的操作

    编程语言中,我们经常会和文件和文件夹打交道,这篇文章主要讲的是Python中,读写文件的常用操作: 一.打开文件 openFile = open('../Files/exampleFile.txt', ...

  6. Python读写文件实际操作的五大步骤

    Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...

  7. Java-IO读写文件简单操作

    Java中读写文件的关键在于节点流和处理流的的选取上,而节点流和处理流又分为面向字节.面向字符两种处理模式,因此,需要根据实际的情况选择合适的处理模式,一般而言,往往尽量尝试使用面向字符的处理模式,如 ...

  8. Perl中的字符串操作函数

    1.$position = index(string,substring,skipchars): 该函数返回子串substring在字符串string中的位置,如果不存在,则返回-1:参数skipch ...

  9. perl 读写文件

    #http://perlmaven.com/open-and-read-from-files #mode operand create truncate#read < #write > y ...

随机推荐

  1. fragment+tabhost与viewpager

    学到哪里写到哪里吧 A.viewpager a.用V4包中的fragment,activity继承FragmentActivity b.布局中加入<android.support.v4.view ...

  2. LCD实验学习笔记(九):UART

    s3c2440包含三个通用异步收发器,可工作于中断模式或DMA模式.每个UART包含两个64字节的FIFOs用于接收和发送数据.可编程设置波特率.1或2个停止位,5/6/7/8个数据位和奇偶校验状态. ...

  3. [转]python os模块 常用命令

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...

  4. python中的ftplib模块

    前言 Python中默认安装的ftplib模块定义了FTP类. ftplib模块相关参数: 加载ftp模块:from ftplib import FTP ftp = FTP()#设置变量ftp.set ...

  5. 【bzoj4530】大融合(LCT的子树维护)

    LCT维护子树并没有想象中的那么难,在这里只是复习下. (其他的维护子树的题目,可见:“共价大爷游长沙”) 只要记录下虚边连接的信息就好了. #include<bits/stdc++.h> ...

  6. codevs 3287 货车运输 NOIP2013提高组

    题目链接:http://codevs.cn/problem/3287/ 题解: 和bzoj3732一毛一样,只不过是找最大生成树和最小值罢了,具体参见我的bzoj3732的博客 #include< ...

  7. STL容器之间的差异和联系

     1.vector  (连续的空间存储,可以使用[]操作符)快速的访问随机的元素,快速的在末尾插入元素,但是在序列中间的插入,删除元素要慢(涉及元素复制移动),而且如果一开始分配的空间不够的话,有一个 ...

  8. ubuntu在vim编辑时,方向键无法正常使用

    /* 如果在普通用户下. */ [frankie@localhost ~]$ sudo apt-get install vim [frankie@localhost ~]$ cd /etc/vim [ ...

  9. 解决springmvc+fastjson返回页面出现乱码问题

    在controller里面的接口上面加,produces="text/html;charset=UTF-8"即可 @RequestMapping(value = "/ad ...

  10. mysql 安装和配置

    mysql 安装: 在命令行输入 sudo apt-get install mysql-server  安装过程中会跳出来一个窗口,输入数据库root用户的密码(必须输入密码) 安装完成后 通过 my ...