Hi Rolf

Thank you for you detailed message:
http://www.nntp.perl.org/group/perl.modules/2015/07/msg93645.html
which I won't copy here. I'll just address some of your points.

To discuss the naming of module, consider:
http://prepan.org/

On that subject, it's common to prefix scraper modules with WWW::Scraper::*. Search MetaCPAN and you'll see many of them, 2 of them being mine.

Now, more on your questions:

1) One or two modules?

WWWW::Scraper::Digitalarkivet with sub-modules starting with WWW::Scraper::Digitalarkivet::Database would be my recommendation.

2) Should it be a module at all?

Of course!

Users might wish to sub-class your main module and use your database module. And they could subclass the latter, too.

I strongly recommend you base each module on Moo and Types::Standard, despite the fact you are at risk of getting far too many conflicting suggestions on this topic.

You could also release App::Digitalarkivet containing your now-much-simplified script, if you wish. But why, when the main module can ship with a bin/a.script.pl?

3) Namespace

See above.

Remember: You need to consider this topic from the point of view of someone searching CPAN for code relevant to their needs. Any name which is cryptic, as in the DA you mention, is meaningless to every single person except yourself. So, please don't use it.

3) Best practice for POD?

You mean (4), right :-)?

I put all my POD at the end. And in scripts/ I often ship a pod2html.sh, plus scripts to create all table, drop all tables, populate constant tables. You get the idea. See any db-using module, such as https://metacpan.org/release/App-Office-Contacts. Download it and check the scripts/ dir for ideas.

Note: In the past, I used to use the very sophisticated DBIx::Class, but have decided that for my work it's too complex, so now I use DBIx::Simple. You should too. Whatever you do, don't reinvent the wheel, and that applies to both your db-interface and your web-scraping code. And /that's/ why I'm recommending you release your code as a set of modules.

4) To CPAN or not to - Licence

The 'Creative Commons' people don't recommend their works for software, as I understand it. I always use the Artistic Licence (aka License for you non-Australians).

Lastly, please also put the code on github. I'm here:
https://github.com/ronsavage?tab=repositories

That way, others can fork you code and push patches, which you can then adopt or reject.

You'll still release the code to CPAN, of course. Github is for interacting.


Good luck!
--
Ron Savage - savage.net.au

Reply via email to