Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

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.


Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2016-10-26 20:18 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (346 votes). Check out past polls.