美文网首页
Perl应用1:文件最后一行的特殊处理

Perl应用1:文件最后一行的特殊处理

作者: CANI_IC | 来源:发表于2018-08-18 13:59 被阅读0次
应用背景

在用perl语言生成文件时,有时会碰到需要对文件的最后一行进行特殊处理,这个时候可以利用perl语言中的seek()函数和tell()函数配合来完成。

实例应用

问题描述

下面是用verilog语言描述的信号连线信息,其中1-4行都是以逗号结尾,只有最后一行是以右括号+分号结尾。如何用perl脚本自动实现该效果呢?

  1 .i_signalA(c_signalA),
  2 .i_signalB(c_signalB),
  3 .i_signalC(c_signalC),
  4 .i_signalD(c_signalD),
  5 .i_signalE(c_signalE));
解决方案
  1. 首先使用perl语言的print函数生成格式统一的代码,
print($FH,"\.i_$1\(c_$1),\n");

其中,$1是用perl正则表达式捕获的信号名,对应图1中的signalA,signalB,...
打印的信息如下图所示:

  1 .i_signalA(c_signalA),
  2 .i_signalB(c_signalB),
  3 .i_signalC(c_signalC),
  4 .i_signalD(c_signalD),
  5 .i_signalE(c_signalE),

2.此时文件句柄$FH位置指向第5行的逗号后面的换行符\n下一个字符,可以用tell函数获取此位置:

$pos=tell($FH);
  1. 将文件句柄的位置重新指向第5行的逗号,然后重新输出右括号分号换行符(\n)
$new_pos=$pos - 2;#    文件句柄左移两个字节
seek($FH,$new_pos,0);
print($FH,"\);\n");

经过上面三个步骤,就可以实现用脚本自动对最后一行进行处理的功能^_^

相关文章

  • Perl应用1:文件最后一行的特殊处理

    应用背景 在用perl语言生成文件时,有时会碰到需要对文件的最后一行进行特殊处理,这个时候可以利用perl语言中的...

  • Effective Perl-chapter5

    用perl处理文件非常容易,perl能借助文件句柄接口处理几乎所有形式的数据。通过文件句柄我们能完成大部分重要的任...

  • 【perl】perl的文件处理(二)——打开文件

    open函数打开文件 语法: 第一个参数为句柄名第二个参数为文件路径名,默认:当前目录 打开成功,返回非零值,否则...

  • 【perl】perl的文件处理(三)——读写文件

    读取文件 使用文件输入操作符读入文件尖括号运算符,钻石符 语法 说明: 尖括号运算符读取文件的第一行输入 读完返回...

  • 【perl】perl文件处理(一)——句柄

    句柄的定义 通过句柄和“外面”的世界连接 外部:硬盘、终端输入等 句柄是一个顺序号,对于打开的文件是唯一的识别依据...

  • perl one line的示例理解

    常用参数perl -lane -e :必须携带-n:一行一行处理-l:chomp $_;print后自带\n-a:...

  • perl处理fasta文件

    在perl处理fasta文件是,需要每次读入一个完整的 序列头+序列,需要利用到 将perl默认的行分隔符切换为"...

  • perl oneline的参数解释

    参数 示例解释 1、基本格式:perl -参数 ‘命令' 输入文件2、perl -e为必须要写的参数3、perl ...

  • awk的基本用法

    awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。 它依次处理文件的每一行,并读取里面...

  • Awk

    简介 awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取...

网友评论

      本文标题:Perl应用1:文件最后一行的特殊处理

      本文链接:https://www.haomeiwen.com/subject/otlfiftx.html