Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: How to distribute an example data file in a CPAN module

by jplindstrom (Monsignor)
on Feb 20, 2009 at 00:58 UTC ( #745244=note: print w/ replies, xml ) Need Help??


in reply to How to distribute an example data file in a CPAN module

I think SQLite db files are binary cross platform, but possibly not across versions. I guess you'd have to check the SQLite manual for that.

That does sound a bit fragile in any case, so the DDL might be a more solid choice.

You can put data files next to where your module source gets installed. Find out where that is:

package Your::Module; use Path::Class; # Return ".../site_lib/Your/Module/data/sample.sql" sub sample_db_file { file( file(__FILE__)->dir->absolute, "data", "sample.sql") . ""; }

If you use Module::Build, you need to specify that nonstandard file extensions should be packaged, like this:

# Build.PL $builder->add_build_element('sql');

Not sure about the EMM or Module::Install incantations.

So you'll need to create a .db file in a convenient (for the user) writable location. File::HomeDir might be useful for finding that location.

/J


Comment on Re: How to distribute an example data file in a CPAN module
Select or Download Code
Re^2: How to distribute an example data file in a CPAN module
by zby (Vicar) on Feb 20, 2009 at 07:08 UTC
    Thanks! Although I decided to put the SQL into __DATA__ - but once it grows I'll remember your solution :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://745244]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (10)
As of 2015-07-06 06:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls