perl 给特定文件加上特定内容

perl 给特定文件加上特定内容

给所有的输入文件,加上特定的内容

本例中,给所有的输入文件内加入## Copyright xxx

如果检测到已经有## Copyright字样的行,那么不添加,具体代码如下。

可以使用该脚本,给所有的verilog文件,加入`default_nettype none,将所有未声明的signal识别为error

perl 复制代码
#!/bin/perl
use strict;
my %do_these; # 声明一个哈希标量;
foreach (@ARGV) {
  $do_these{$_} = 1; #将所有的哈希值都设置为1;
}

while (<>) {
  if (/\A## Copyright/im) { #忽略大小写,多行检查
    delete $do_these{$ARGV}; #检测到特定字符,删除该哈希键值对
    }
}

@ARGV = keys %do_these; # 重新取剩余的哈希键值对,设置为默认数组;

$^I = ".bak"; # 将源文件重命名为xx.bak备份文件,修改后的文件名为原文件;
while( <>) {
  if (/\A#!/) {
    $_ .= "## Copyright (C) 2024 by YOURS AUTHORITY!";
  }
  print; #将修改后的文件写回
}
  
相关推荐
_extraordinary_13 分钟前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
@。1241 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
hsjkdhs2 小时前
C++之多层继承、多源继承、菱形继承
开发语言·c++·算法
Full Stack Developme2 小时前
Python Redis 教程
开发语言·redis·python
qq_4924484463 小时前
Jmeter设置负载阶梯式压测场景(详解教程)
开发语言·python·jmeter
ID_180079054734 小时前
京东获取整站实时商品详情数据|商品标题|数据分析提取教程
java·开发语言
qiuiuiu4134 小时前
正点原子RK3568学习日志-编译第一个驱动程序helloworld
linux·c语言·开发语言·单片机
molong9315 小时前
Kotlin 内联函数、高阶函数、扩展函数
android·开发语言·kotlin
盼哥PyAI实验室5 小时前
踏上编程征程,与 Python 共舞
开发语言·python
阿无,5 小时前
Java设计模式之工厂模式
java·开发语言·设计模式