#!/usr/bin/perl use strict; use warnings; use Games::Crossword::Puzzle; my $filename = $ARGV[0]; my $html_out = $ARGV[1]; my $puzzle = Games::Crossword::Puzzle->from_file($filename); printf "TITLE : %s\n", $puzzle->title; printf "AUTHOR: %s\n", $puzzle->author; printf "(C) : %s\n", $puzzle->copyright || ''; for my $line (@{ $puzzle->{grid} }) { print join q{}, (map { defined $_->value ? $_->value : '.' } @$line); print " "; print join q{}, (map { defined $_->guess ? $_->guess : defined $_->value ? '-' : '.' } @$line); print "\n"; } if ($html_out) { die "bad filename: $html_out" unless $html_out =~ /\.html\z/; open my $output, ">", $html_out or die "couldn't open $html_out: $!"; print { $output } "
| }; print { $output } "$square->{number}" if $square->{number}; print { $output } $square->{value} || '-'; print { $output } " | "; } print { $output } "