#!/usr/bin/perl ############################################################################### ############################################################################### # # genDrillChart.pl # # Author : Dan Hay ( dan@onepointed.com http://www.onepointed.com/dan/ ) # # Version 1.0 # # Date: April 1, 2005 # # Copyright 2005 Dan Hay # # This script will generate an HTML page containing a scale conversion chart # for various drill bit sizes. # # This script will read drill size data from a text data file. The data file # shall contain one entry per line with each line containing the following] # data: # # :::
:
# ###############################################################################3 ###############################################################################3 use strict; if ( $#ARGV < 1 ) { print "Usage:: $0 \n"; print "Please try again...\n\n"; exit (-1); } my ( $infile ) = ( $ARGV[0] ); my ( $outfile ) = ( $ARGV[1] ); if ( ! open ( DATA, "<$infile" ) ) { print "Unable to open the input data file '" . $infile ."' for reading.\n"; print "Fatal error...exiting\n\n"; exit (-1); } if ( ! open ( OUTFILE, ">$outfile" ) ) { print "Unable to open the output destination file '" . $outfile ."' for writing.\n"; print "Fatal error...exiting\n\n"; exit (-1); } my ( @dataLines ) = ( ); close DATA; print OUTFILE "\n"; print OUTFILE " \n"; print OUTFILE " Scale conversions for drill bits\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE "

Scale conversions for drill bits

\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; my ( $line ) = ( undef ); my ( $drillLabel, $sizeInches, $sizeMilimeters ) = ( undef, undef, undef ); my ( $darkColour, $lightColour ) = ( "lightskyblue", "white" ); my ( $rowColourFlag ) = ( 1 ); my ( $in72, $mm72 ) = ( undef, undef ); my ( $in76, $mm76 ) = ( undef, undef ); my ( $in48, $mm48 ) = ( undef, undef ); my ( $in35, $mm35 ) = ( undef, undef ); foreach $line ( @dataLines ) { chomp $line; next if ( $line =~ /^\s*$/ ); ( $drillLabel, $sizeInches, $sizeMilimeters ) = ( split /:/, $line ); if ( $drillLabel eq "
" ) { print OUTFILE "
Drill bitDrill diameterScale size
inmm1/721/761/481/35
inmminmminmminmm
\n\n"; print OUTFILE "

\n\n"; print OUTFILE " \n\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; $rowColourFlag = 1; next; } #end if $in72 = 72 * $sizeInches; $mm72 = 72 * $sizeMilimeters; $in76 = 76 * $sizeInches; $mm76 = 76 * $sizeMilimeters; $in48 = 48 * $sizeInches; $mm48 = 48 * $sizeMilimeters; $in35 = 35 * $sizeInches; $mm35 = 35 * $sizeMilimeters; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n"; print OUTFILE " \n\n"; } #end foreach print OUTFILE "
Drill bitDrill diameterScale size
inmm1/721/761/481/35
inmminmminmminmm
" . $drillLabel . "" . $sizeInches . "" . $sizeMilimeters . "" . $in72 . "" . $mm72 . "" . $in76 . "" . $mm76 . "" . $in48 . "" . $mm48 . "" . $in35 . "" . $mm35 . "
\n\n"; print OUTFILE "\n"; print OUTFILE "\n\n"; close OUTFILE; exit (0);