> Here are some variants that I 
> tried in enter_presets.pl:
> […]
> All generated HTML-links are clickable.
But they don't lead to their intended targets, they're all broken.

> Is it possible that all of this fails simply because I didn't yet
> upload a "stable" version of SudokuTrainer
No.

I think how the distribution and its documentation are organised is
quite a mess (that's why internal cross-linking is so difficult) and
suggest the following improvements:

Create a package that serves as the entry point and also holds the
extra documentation. This becomes the main module of the distribution.
You have already given this name explicitly in the INSTALL file and
implicitly through the package/directory structure of your library
files, so formalise it, thus the file lib/Games/Sudoku/Trainer.pm:

    package Games::Sudoku::Trainer;
    # script/*.pl code goes here
    1;
    __END__

    =encoding UTF-8

    =head1 NAME

    Games::Sudoku::Trainer - short abstract of the purpose

    =head1 SYNOPSIS

        sudokutrainer.pl
        sudokutrainer.pl --preset-editor

    =head1 DESCRIPTION

    All you need to know how to use the software blah blah blah …

Move the content of the pod/*.pod file here. Properly nest the
headings, an [outline editor](http://enwp.org/Outline_editor) can
assist you keeping track and rearranging content.

Modularise script/sudokutrainer.pl and put the code into
Games::Sudoku::Trainer. script/sudokutrainer.pl becomes a two-liner
that retains only a call to Games::Sudoku::Trainer->run and a skeleton
documentation pointing to the appropriate section in
Games::Sudoku::Trainer. Put script/sudokutrainer.pl into the
App::SudokuTrainer namespace if you think most users are interested in
the application, otherwise if you think most users are interested in
the library code, then specify no namespace there.

Abolish enter_presets.pl, move its code into Games::Sudoku::Trainer or
a subordinate package, and make it callable from a sudokutrainer.pl
command-line option and from the main program GUI. This reduces clutter
for downstream packaging.

Relinquish the top-level namespace SudokuTrainer. Remove all references
to that namespace. Finally rename the distribution to
Games-Sudoku-Trainer so it matches the main module.

Attachment: signature.asc
Description: PGP signature

Reply via email to