wernermisc/hacks/brdclw

30 lines
489 B
Perl
Executable File

#!/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;
}