diff --git a/contrib/devtools/replace.pl b/contrib/devtools/replace.pl new file mode 100755 index 000000000..601c781aa --- /dev/null +++ b/contrib/devtools/replace.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl +# Copyright (c) 2016-2022 The Hush developers +# Distributed under the GPLv3 software license, see the accompanying +# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html + +use strict; +use warnings; +use autodie; +use Data::Dumper; +my ($find,$replace,@files) = @ARGV; + +usage() unless $find && defined $replace; +unless( @files ) { + printf "No files to replace stuff!"; + exit 0; +} + +my $fh; +print "Going to replace $find with $replace in " . scalar(@files) . " files\n"; + +for my $file (@files) { + if (-d $file) { + printf "Skipping directory $file\n"; + next; + } + unless ( -e $file ) { + printf "$file does not exist!\n"; + next; + } + open $fh, '<', $file; + my $content = join('',<$fh>); + $content =~ s/\Q$find\E/$replace/g; + close $fh; + + open $fh, '>', $file; + print $fh $content; + close $fh; +} + +sub usage { + die "$0 stringtofind stringtoreplace file [more files...]\n"; +}