Combust-Spontaneously

 view release on metacpan or  search on metacpan

bin/combustier  view on Meta::CPAN

Then whichever site you plan to hack on:

  svn co https://svn.perl.org/perl.org/docs/live/learn

Now simply run combustier:

  combustier learn

=head1 Usage

  combustier [OPTIONS] combust.conf

=head1 Options

=over

=item -c, --combust PATH

Path to combust tree.  This should typically be a checkout from
git://git.develooper.com/combust.git.

DEFAULT: combust2

=item --port NUMBER

Server port number.

DEFAULT: 9090

=item -h, --help

=for help show this help message

Show help about options.

=back

=cut

package bin::combustier;

use Getopt::AsDocumented;

use Combust::Spontaneously;

sub main {
  my (@args) = @_;

  my $opt = Getopt::AsDocumented->process(\@args) or return;
  my $site = shift(@args);
  die "must have site directory argument\n" unless($site);
  die "'$site' does not exist" unless(-e $site);


  $ENV{COMBUST_REQUEST_CLASS} = 'Spontaneously';

  my $cbroot = $ENV{CBROOT} = $opt->combust;
  die "must have a '$cbroot' directory\n" unless(-e $cbroot);
  unshift(@INC, "$cbroot/lib");

  my $conf = $ENV{CBCONFIG} = 'combust.conf';
  unless(-e $conf) {
    open(my $fh, '>', $conf) or die "cannot write '$conf'";
    print $fh "servername = localhost\n";
  }

  my $server = Combust::Spontaneously->new(
    port => $opt->port,
    site => $site,
  );
  $server->run;
}

package main;

if($0 eq __FILE__) {
  bin::combustier::main(@ARGV);
}

# vi:ts=2:sw=2:et:sta
my $package = 'bin::combustier';



( run in 1.187 second using v1.01-cache-2.11-cpan-e1769b4cff6 )