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; #将修改后的文件写回
}
  
相关推荐
郝学胜-神的一滴2 分钟前
Python魔法函数深度探索|从工具实操到核心应用,解锁语言底层的优雅密码
开发语言·数据库·人工智能·python·pycharm
她说彩礼65万4 分钟前
C语言 函数指针
c语言·开发语言·算法
ccice0113 分钟前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
C语言小火车18 分钟前
嵌入式实习面试问题:那个动态内存是怎么样分配的?
c语言·开发语言·c++·嵌入式硬件·面试
xiangyong5821 分钟前
Python管理UV-命令&实例汇总(一)
开发语言·python·uv
John_ToDebug23 分钟前
Chromium 源码剖析:base::NoDestructor——更安全的静态单例解决方案
开发语言·c++·chrome
淘矿人28 分钟前
2026大模型API中转平台深度评测:weelinking领衔五大服务商横向实测与选型指南
开发语言·人工智能·python·oracle·数据挖掘·php·pygame
tq108630 分钟前
从工具调用到符号思维:持久化Lisp元编程循环中的大语言模型
开发语言·语言模型·lisp
浪客川33 分钟前
【百例RUST - 015】闭包
开发语言·后端·rust
Acnidouwo36 分钟前
QT程序的dpi导致显示异常处理方法
开发语言·qt