On Fri, 2 Dec 2016, Stefan Adams wrote: > I mount M::L apps all the time!
Thanks, that's encouraging! > Only difference is my apps were never CGI. Not sure if that makes a > difference? It shouldn't. And I have problems in daemon mode anyway. I have a M::L app which runs fine by itself: root@10:/etc/e-smith/web/functions# ./syslog daemon Server available at http://127.0.0.1:3000 ^Croot@10:/etc/e-smith/web/functions# If I try to embed it within a top-level index application, like so: ... use Mojolicious::Plugin::Mount; plugin Mount => {'/server-manager/cgi-bin/syslog' => './syslog'}; plugin Mount => {'/server-manager/cgi-bin/systeminformation' => './systeminformation'}; ... Then I get scoping and syntax errors when I try to run it - but not with a test compile - the line numbers suggest problems with helper declarations: root@10:/etc/e-smith/web/functions# perl -cw index.mount index.mount syntax OK root@10:/etc/e-smith/web/functions# ./index.mount daemon "my" variable $prop masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 29. "my" variable $prop masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 33. "my" variable $prop masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 34. "my" variable $prop masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 38. "my" variable $prop masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 39. "my" variable $prop masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 43. "my" variable $prop masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 44. String found where operator expected at /etc/e-smith/web/functions/syslog line 47, near "get '/'" (Do you need to predeclare get?) "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 50. String found where operator expected at /etc/e-smith/web/functions/syslog line 53, near "post '/'" (Do you need to predeclare post?) "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 55. String found where operator expected at /etc/e-smith/web/functions/syslog line 94, near "get '/createdest'" (Do you need to predeclare get?) "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 96. "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 97. "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 97. "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 98. "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 98. "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 99. "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 99. "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 100. String found where operator expected at /etc/e-smith/web/functions/syslog line 103, near "post '/createdest'" (Do you need to predeclare post?) "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 105. "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 106. "my" variable $self masks earlier declaration in same statement at /etc/e-smith/web/functions/syslog line 106. "my" variable $prop masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 142. "my" variable $syslogdb masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 143. String found where operator expected at /etc/e-smith/web/functions/syslog line 174, near "get '/remove/:facility/:protocol'" (Do you need to predeclare get?) "my" variable $self masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 176. "my" variable $facility masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 177. "my" variable $protocol masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 178. "my" variable $syslogdb masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 180. "my" variable $destination_host masks earlier declaration in same scope at /etc/e-smith/web/functions/syslog line 181. Can't load application from file "/etc/e-smith/web/functions/syslog": syntax error at /etc/e-smith/web/functions/syslog line 20, near "helper db" syntax error at /etc/e-smith/web/functions/syslog line 30, near "}" syntax error at /etc/e-smith/web/functions/syslog line 35, near "}" syntax error at /etc/e-smith/web/functions/syslog line 40, near "}" syntax error at /etc/e-smith/web/functions/syslog line 45, near "}" syntax error at /etc/e-smith/web/functions/syslog line 51, near "}" syntax error at /etc/e-smith/web/functions/syslog line 92, near "}" syntax error at /etc/e-smith/web/functions/syslog line 101, near "}" syntax error at /etc/e-smith/web/functions/syslog line 172, near "}" syntax error at /etc/e-smith/web/functions/syslog line 192, near "}" /etc/e-smith/web/functions/syslog has too many errors. Compilation failed in require at (eval 78) line 1. root@10:/etc/e-smith/web/functions# > > On Dec 2, 2016 6:03 PM, "Charlie Brady" <[email protected]> > wrote: > > > From some short testing it is not possible. I'd like some confirmation of > that. > > I have a significant collection of M::L programs, which are running under > apache as CGI scripts. I'd much prefer to combine them to into a single > app using Mojolicious::Plugin::Mount, but it looks each would need to be > converted to a full Mojolicious app for that to be possible. Is that > correct? Has anybody given any thought to what would need to be done to > the Mount plugin to support M::L apps? > > Thanks > >
