#! /usr/bin/perl use strict; my $line; while( $line = <> ) { chomp $line; chomp $line; # via: no solderstop hole if( $line =~ /^([ \t]*)Via\[([-0-9]+) ([-0-9]+) ([-0-9]+) ([-0-9]+) [-0-9]+ (.*)$/ ) { print( "$1Via[$2 $3 $4 $5 0 $6\n" ); # pin: solderstop hole diameter 6 mil more than copper diameter } elsif( $line =~ /^([ \t]*)Pin\[([-0-9]+) ([-0-9]+) ([-0-9]+) ([-0-9]+) [-0-9]+ (.*)$/ ) { my $solderstop = $4 + 600; print( "$1Pin[$2 $3 $4 $5 $solderstop $6\n" ); # pad: solderstop width 6 mil more than copper width } elsif( $line =~ /^([ \t]*)Pad\[([-0-9]+) ([-0-9]+) ([-0-9]+) ([-0-9]+) ([-0-9]+) ([-0-9]+) [-0-9]+ (.*)$/ ) { my $solderstop = $6 + 600; print( "$1Pad[$2 $3 $4 $5 $6 $7 $solderstop $8\n" ); # keep unknown lines } else { print( "$line\n" ); } } # while( $line = <> )