# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.7003';
+our $VERSION = '5.7006';
sub import {
my ( $class, @arguments ) = @_;
or (this will not overwrite existing files):
catalyst.pl -scripts $class
+
EOF
}
if (@plugins) {
my $t = Text::SimpleTable->new(74);
$t->row($_) for @plugins;
- $class->log->debug( "Loaded plugins:\n" . $t->draw );
+ $class->log->debug( "Loaded plugins:\n" . $t->draw . "\n" );
}
my $dispatcher = $class->dispatcher;
my $type = ref $class->components->{$comp} ? 'instance' : 'class';
$t->row( $comp, $type );
}
- $class->log->debug( "Loaded components:\n" . $t->draw )
+ $class->log->debug( "Loaded components:\n" . $t->draw . "\n" )
if ( keys %{ $class->components } );
}
$path ||= '';
$namespace = '' if $path =~ /^\//;
$path =~ s/^\///;
+ $path =~ s/\?/%3F/g;
my $params =
( scalar @args && ref $args[$#args] eq 'HASH' ? pop @args : {} );
for my $value ( values %$params ) {
+ next unless defined $value;
for ( ref $value eq 'ARRAY' ? @$value : $value ) {
$_ = "$_";
utf8::encode( $_ );
};
# join args with '/', or a blank string
- my $args = ( scalar @args ? '/' . join( '/', @args ) : '' );
+ my $args = ( scalar @args ? '/' . join( '/', map {s/\?/%3F/g; $_} @args ) : '' );
$args =~ s/^\/// unless $path;
my $res =
URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ), $base )
<p>
<img src="$logo" alt="Catalyst Logo" />
</p>
- <p>Welcome to the wonderful world of Catalyst.
+ <p>Welcome to the world of Catalyst.
This <a href="http://en.wikipedia.org/wiki/MVC">MVC</a>
framework will make web development something you had
never expected it to be: Fun, rewarding, and quick.</p>
<p>That really depends on what <b>you</b> want to do.
We do, however, provide you with a few starting points.</p>
<p>If you want to jump right into web development with Catalyst
- you might want to check out the documentation.</p>
- <pre><code>perldoc <a href="http://cpansearch.perl.org/dist/Catalyst/lib/Catalyst/Manual/Intro.pod">Catalyst::Manual::Intro</a>
-perldoc <a href="http://cpansearch.perl.org/dist/Catalyst/lib/Catalyst/Manual/Tutorial.pod">Catalyst::Manual::Tutorial</a></code>
-perldoc <a href="http://cpansearch.perl.org/dist/Catalyst/lib/Catalyst/Manual.pod">Catalyst::Manual</a></code></pre>
+ you might want want to start with a tutorial.</p>
+<pre>perldoc <a href="http://cpansearch.perl.org/dist/Catalyst-Manual/lib/Catalyst/Manual/Tutorial.pod">Catalyst::Manual::Tutorial</a></code>
+</pre>
+<p>Afterwards you can go on to check out a more complete look at our features.</p>
+<pre>
+<code>perldoc <a href="http://cpansearch.perl.org/dist/Catalyst-Manual/lib/Catalyst/Manual/Intro.pod">Catalyst::Manual::Intro</a>
+<!-- Something else should go here, but the Catalyst::Manual link seems unhelpful -->
+</code></pre>
<h2>What to do next?</h2>
<p>Next it's time to write an actual application. Use the
helper scripts to generate <a href="http://cpansearch.perl.org/search?query=Catalyst%3A%3AController%3A%3A&mode=all">controllers</a>,
);
$c->log->info(
- "Request took ${elapsed}s ($av/s)\n" . $t->draw );
+ "Request took ${elapsed}s ($av/s)\n" . $t->draw . "\n" );
}
return $c->response->status;