#!/usr/bin/perl # # brdclw - Change line width in a specific module in a KiCAD .brd file # sub usage { print STDERR "usage: $0 module from to in-file\n"; exit(1); } &usage unless @ARGV == 4; $mod = shift(@ARGV); $from = shift(@ARGV); $to = shift(@ARGV); while (<>) { $this = $1 eq $mod if /^\$MODULE\s+(\S+)/; $this = 0 if /^\$EndMODULE/; if ($this && /^DS\s/) { @ds = split(/\s+/); if ($ds[5] == $from) { $ds[5] = $to; $_ = join(" ", @ds)."\n"; } } print || die; }