in reply to Re: STDIN typeglob
in thread STDIN typeglob
One of the modules I have recently released to CPAN reads JSON data from STDIN on a webserver.One of the benefits of writing tests (and particularly of TDD) is that it can give you a signal about your interface: if something is difficult to write tests for, maybe it's the interface that should change.
Reading from STDIN on a webserver sounds very much like CGI. That's not a problem as such, but there are many other interfaces where data from the web browser is not passed via STDIN. Already FastCGI, which is only a tiny step away from CGI, does not use that simple interface (but FCGI and CGI::Fast can do a lot to hide that fact). And when it comes to other interfaces to webservers, like modperl, STDIN is not used at all (again, there are compatibility layers like ModPerl::Registry).
In other words, passing a handle to the reading function might be a smarter solution. Perhaps, your module should not fetch the data at all, but just accept the data as a scalar value. Both would also allow for easier testing.
Alexander
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: STDIN typeglob
by eyepopslikeamosquito (Archbishop) on Jun 12, 2023 at 13:17 UTC | |
by afoken (Chancellor) on Jun 12, 2023 at 19:53 UTC | |
by Bod (Parson) on Jun 13, 2023 at 20:42 UTC | |
by Bod (Parson) on Jun 13, 2023 at 20:58 UTC | |
by eyepopslikeamosquito (Archbishop) on Jun 14, 2023 at 00:24 UTC | |
by Bod (Parson) on Jun 18, 2023 at 17:13 UTC |