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; #将修改后的文件写回
}
  
相关推荐
1024小神2 分钟前
cloudflare中wrangler支持的d1等命令有哪些
开发语言
ray96332 分钟前
Python——函数参数传递方式
开发语言·python
BullSmall34 分钟前
Socket中断原因与处理全攻略
开发语言
十五年专注C++开发34 分钟前
浅谈Qt中的QSql模块整体设计
开发语言·数据库·c++·qt
梅羽落38 分钟前
python武器化开发_01
开发语言·python·php
Joe_Blue_0242 分钟前
Matlab 入门案例介绍——如何创建脚本
开发语言·matlab·matlab 入门案例
崇山峻岭之间1 小时前
Matlab学习记录20
开发语言·学习·matlab
逍遥德1 小时前
JPA 操作对象图 (Object Graph) 详解
开发语言·python
微爱帮监所写信寄信1 小时前
微爱帮监狱寄信写信小程序信件内容实时保存技术方案
java·服务器·开发语言·前端·小程序
李少兄1 小时前
时间戳转换工具
开发语言·javascript·工具