in reply to Re^10: Namespace/advice for new CPAN modules for Thai & Lao ( Regexp::CharClasses::Thai / Lingua::Thai::RegexpCharClasses )
in thread Namespace/advice for new CPAN modules for Thai & Lao

...

Regexp::CharProps just another .pm file you include :)

lib `-- lib/Regexp |-- lib/Regexp/CharProps | `-- lib/Regexp/CharProps/Thai.pm `-- lib/Regexp/CharProps.pm 2 directories, 2 files

You only upload one file to pause/cpan, a tarball/distribution, and it contains the README, you don't upload a seperate README file ... PAUSE/CPAN unpacks/extracts the README file from the tarball/distribution

Here is how you might start from scratch (using module-starter) and upload it (using cpan-upload )

$ module-starter --eumm --email email --author author --verbose --module=GonerMod
Created GonerMod
Created GonerMod\lib
Created GonerMod\lib\GonerMod.pm
Created GonerMod\t
Created GonerMod\t\pod-coverage.t
Created GonerMod\t\pod.t
Created GonerMod\t\manifest.t
Created GonerMod\t\boilerplate.t
Created GonerMod\t\00-load.t
Created GonerMod\ignore.txt
Created GonerMod\Makefile.PL
Created GonerMod\Changes
Created GonerMod\README
Added to MANIFEST: Changes
Added to MANIFEST: ignore.txt
Added to MANIFEST: lib/GonerMod.pm
Added to MANIFEST: Makefile.PL
Added to MANIFEST: MANIFEST
Added to MANIFEST: README
Added to MANIFEST: t/00-load.t
Added to MANIFEST: t/boilerplate.t
Added to MANIFEST: t/manifest.t
Added to MANIFEST: t/pod-coverage.t
Added to MANIFEST: t/pod.t
Created GonerMod\MANIFEST
Created starter directories and files

$ cd GonerMod

$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for GonerMod
Writing MYMETA.yml and MYMETA.json

$ dmake disttest
C:\citrusperl\bin\perl.exe -MExtUtils::Command -e rm_rf -- GonerMod-0.01
C:\citrusperl\bin\perl.exe "-MExtUtils::Manifest=manicopy,maniread" \
                -e "manicopy(maniread(),'GonerMod-0.01', 'best');"
mkdir GonerMod-0.01
mkdir GonerMod-0.01/t
mkdir GonerMod-0.01/lib
Generating META.yml
Generating META.json
cd GonerMod-0.01 && C:\citrusperl\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for GonerMod
Writing MYMETA.yml and MYMETA.json
cd GonerMod-0.01 && dmake
cp lib/GonerMod.pm blib\lib\GonerMod.pm
cd GonerMod-0.01 && dmake test
C:\citrusperl\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_h
arness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-load.t ....... 1/? # Testing GonerMod 0.01, Perl 5.016001, C:\citrusperl\bin\perl.exe
t/00-load.t ....... ok
t/manifest.t ...... skipped: Author tests not required for installation
t/pod-coverage.t .. ok
t/pod.t ........... ok
All tests successful.
Files=4, Tests=3,  3 wallclock secs ( 0.09 usr +  0.03 sys =  0.12 CPU)
Result: PASS

$ dmake dist
C:\citrusperl\bin\perl.exe -MExtUtils::Command -e rm_rf -- GonerMod-0.01
C:\citrusperl\bin\perl.exe "-MExtUtils::Manifest=manicopy,maniread" \
                -e "manicopy(maniread(),'GonerMod-0.01', 'best');"
mkdir GonerMod-0.01
mkdir GonerMod-0.01/t
mkdir GonerMod-0.01/lib
Generating META.yml
Generating META.json
tar cvf GonerMod-0.01.tar GonerMod-0.01
GonerMod-0.01/
GonerMod-0.01/Changes
GonerMod-0.01/lib/
GonerMod-0.01/lib/GonerMod.pm
GonerMod-0.01/Makefile.PL
GonerMod-0.01/MANIFEST
GonerMod-0.01/META.json
GonerMod-0.01/META.yml
GonerMod-0.01/README
GonerMod-0.01/t/
GonerMod-0.01/t/00-load.t
GonerMod-0.01/t/manifest.t
GonerMod-0.01/t/pod-coverage.t
GonerMod-0.01/t/pod.t
C:\citrusperl\bin\perl.exe -MExtUtils::Command -e rm_rf -- GonerMod-0.01
gzip -9f GonerMod-0.01.tar
'Created GonerMod-0.01.tar.gz'

$ cpan-upload -u username -p password GonerMod-0.01.tar.gz
...
  • Comment on Re^11: Namespace/advice for new CPAN modules for Thai & Lao (CPAN README)
  • Download Code