Some little changes to Plugins.pod before bed. Ran podchecker on all pods and cleaned...
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Intro.pod
index c446014..a1eff74 100644 (file)
@@ -4,9 +4,10 @@ Catalyst::Manual::Intro - Introduction to Catalyst
 
 =head1 DESCRIPTION
 
-This is a brief overview of why and how to use Catalyst. It explains how
-Catalyst works and shows how to get a simple application up and running
-quickly.
+This is a brief introduction to Catalyst. It explains the most important
+features of how Catalyst works and shows how to get a simple application
+up and running quickly. For an introduction (without code) to Catalyst
+itself, and why you should be using it, see L<Catalyst::Manual::About>.
 
 =head2 What is Catalyst?
 
@@ -30,7 +31,8 @@ well-known Perl modules you may want to use for each.
 
 =item * B<Model>
 
-Access and modify content (data). L<Class::DBI>, L<Plucene>, L<Net::LDAP>...
+Access and modify content (data). L<Class::DBI>, L<DBIx::Class>,
+L<Plucene>, L<Net::LDAP>...
 
 =item * B<View>
 
@@ -143,7 +145,7 @@ running, using the helper scripts described above.
 
 =head3 Install
 
-    $ perl -MCPAN -e 'install Bundle::Catalyst'
+    $ perl -MCPAN -e 'install Task::Catalyst'
 
 =head3 Setup
 
@@ -448,7 +450,7 @@ controller it's in.
 C<index> is much like C<default> except that it takes no arguments
 and it is weighted slightly higher in the matching process. It is
 useful as a static entry point to a controller, e.g. to have a static
-welcome page.
+welcome page. Note that it's also weighted higher than Path.
 
 =item * B<begin : Private>
 
@@ -538,11 +540,10 @@ stage, without processing further actions.
 
 =head4 URL Path Handling
 
-You can pass variable arguments as part of the URL path. In this case,
-you must use regex action keys with '^' and '$' anchors, and the
-arguments must be separated with forward slashes (/) in the URL. For
-example, suppose you want to handle C</foo/$bar/$baz>, where C<$bar> and
-C<$baz> may vary:
+You can pass variable arguments as part of the URL path, separated with 
+forward slashes (/). If the action is a Regex or LocalRegex, the '$' anchor 
+must be used. For example, suppose you want to handle C</foo/$bar/$baz>, 
+where C<$bar> and C<$baz> may vary:
 
     sub foo : Regex('^foo$') { my ($self, $context, $bar, $baz) = @_; }
 
@@ -560,6 +561,10 @@ Catalyst matches actions in most specific to least specific order:
 So Catalyst would never mistakenly dispatch the first two URLs to the
 '^foo$' action.
 
+If a Regex or LocalRegex action doesn't use the '$' anchor, the action will 
+still match a URL containing arguments, however the arguments won't be 
+available via C<@_>.
+
 =head4 Parameter Processing
 
 Parameters passed in the URL query string are handled with methods in
@@ -631,7 +636,7 @@ be reset.
         my $first_argument = $c->req->args[0]; # now = 'test1'
         # do something...
     }
-    
+
 As you can see from these examples, you can just use the method name as
 long as you are referring to methods in the same controller. If you want
 to forward to a method in another controller, or the main application,
@@ -803,7 +808,7 @@ stash to pass data to your templates.
         name => 'My Application',
         root => '/home/joeuser/myapp/root'
     );
-    
+
     __PACKAGE__->setup;
 
     sub end : Private {
@@ -915,5 +920,5 @@ Danijel Milicevic, C<me@danijel.de>
 
 =head1 COPYRIGHT
 
-This program is free software, you can redistribute it and/or modify it under
-the same terms as Perl itself.
+This program is free software, you can redistribute it and/or modify it
+under the same terms as Perl itself.