I read the email.

You're recommended to use frameworks such as Mojolicious or Dancer 2.

Plack/PSGI is not a layer you should consider using when you're at a
starter level.


On Tue, Aug 16, 2016 at 3:27 PM ivo welch <ivo...@gmail.com> wrote:

>
> thanks for this good starter.  I cpan'ed Plack PSGI Plack::Session,
> Plack::Middleware::ETag, and Template .  I commented out the loadconfig().
>  then it compiled.  started
>
>     $ sudo plackup plack.pl  ## needed or sessions and templates
> directories need to be writeable by nobody
>
> I fire the browser up to localhost:5000, and I get impressive looking
> error output, that seems to be a mix of amateur and pro.  Specifically, I
> see
>
> Undefined subroutine 
> &Plack::Sandbox::_2fUsers_2fme_2testsite_2fwww_2fplack_2epl::doIndex called 
> at /Users/me/testsite/www/plack.pl line 44.
>  at /Users/ivo/syllabus.space/www/phpi/plack.pl line 43
>
>
> and then nice code boxes.  I guess _2F needs to be decoded to '/', but
> this is minor.  I am now feeling my way in the dusk (no longer dark).
>
> ETag were a mystery, too.  what do inode mtime size do?  I am guessing
> that it is doing exactly what I want---cache expiry if inode, mtime, or
> file size change.  much more convenient than the old expiries and pragma
> that I dealt with.
>
> I also discovered common::sense through your example. much more convenient
> than what I had been using, which was enumerating these cases!
>
>
> The error was, at first, mystery.  I see the mount that presumably builds
> up "/", and since I am requesting localhost:5000 in my browser, this is
> what should be hit.  alas, I started to get somewhere when I defined
>
>     sub doIndex {
>       return [ '200', [ 'Content-Type' => 'text/html' ], [ 42 ], ];
>     }
>
>
>
> and then requested localhost:5000/main .  I guess I can now replace the 
> %funcs call `my proc = $funcs{$args[1]}` with something like
>
>
>  args[0] =~ s/\.//g; ## ignore all attempts to traverse up the hierarchy
> or use hidden files (-e "/$DOCUMENTROOT$args[0]") or return [ 404, [
> 'Content-Type' => 'text/html; charset=utf-8' ], [ "404 file $args[0] not
> found" ] ];
>  my $perlcode= slurp("/$DOCUMENTROOT/$args[0]"); ## could check that the
> first line contains perl magic
>  my @rv = eval perlcode;
>  ($@) and die "in nice html, say your perlcode in $args[0] died";
>  ($#rv != 2) and die "in nice html, say we want three args back from
> $args[0]";
>  return @rv;
>
>
>
> known-to-work starter examples (each showing off a different feature) would 
> be a great help on the Plack http://plackperl.org/ website.  alas, I don't 
> know tatsuhikos' email (who I am assuming maintains it).
>
>
> thanks again, andy.
>
>
> regards,
>
>
> /iaw
>
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "psgi-plack" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to psgi-plack+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"psgi-plack" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to psgi-plack+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to