You should read the source code more carefully, it does exactly what is expected from a stack (LIFO) implementation. Internally it's using unshift to to push and shift to pop the stack which might seem counter intuitive depending whether or not you consider index 0 the top or bottom, but regardless that is an internal matter and doesn't deserve your warning and harsh criticism.
The simplicity and elegance Web::Simple provides is just stunning!
Web::Simple provides just what you need to get started quickly. A convenient
and powerful dispatcher capable of dispatching on several rules such as path,
request method and input parameters. Optional markup tags for HTML and XML which
allows you to conveniently use Perl to generate markup.
Web::Simple implements the PSGI interface, which means Plack can be used for deployments.
Web::Simple is KISS (Keep It Simple Stupid) in practice.