#!/usr/local/bin/perl # odddiam.pl - Generate block pattern to fit circle with odd diameter # # Copyright 2015 David Meyer <papa@sdf.org> +JMJ # (License and documentation at bottom of file.) # Modules ########################################################### #use strict; use warnings; use Getopt::Std; # Configuration ##################################################### # Globals ########################################################### # Functions ######################################################### # Process arguments ################################################# %options = (); getopts('', \%options); # Main driver ####################################################### $diam = shift; if ($diam % 2 == 0) {die "Argument is not odd";} $r = ($diam - 1) / 2; $rb = $r + 1; print <<END; <html> <head> <title>odddiam.pl output</title> <body> <table> <tr> END for $z (0 .. $r) { for $x (0 .. $r) { $dist = sqrt($x*$x + $z*$z); if ($dist <= $r && $dist < $rb) { $result = '@@'; } elsif ($dist <= $r) { $result = 'AA'; } elsif ($dist < $rb) { $result = 'BB'; } else { $result = ' '; } # print "$x\t$z\t$result\n"; print "<td>$result</td>"; } print "</tr>\n"; } print "</table>\n</body>\n</html>\n"; exit 0 __END__ # Documentation ##################################################### =head1 NAME template.pl - Perl script template (command line) =head1 SYNOPSIS/USAGE =head1 DESCRIPTION Mark up code elements with C<>, file names with F<> (or C<> for readability), command names with B<>. Also I<> for italics, U<> for underline. Entities: E<lt> ('<'), E<gt> ('>'). =head1 OPTIONS =item B<-o> I<value>, B<--option>=I<value> =head1 RETURN VALUE =head1 ERRORS =head1 DIAGNOSTICS =head1 EXAMPLES =head1 ENVIRONMENT =over 6 =item VARIABLE Description of usage of environment variable C<VARIABLE>. =back =head1 FILES =head1 BUGS, LIMITATIONS, AND CAVEATS =head1 NOTES =head1 AUTHOR David Meyer <papa@sdf.org> =head1 HISTORY =head1 COPYRIGHT AND LICENSE Copyright 201x David Meyer =head1 SEE ALSO # Emacs control ##################################################### #Local variables: #mode: perl #End: