想要制作一个 perl-module 基本上是什么:
- 从网络请求中获取一些参数
- 做一些内部逻辑
- 并生成一个 json 字符串
我的问题是:这里有许多不同的方法来处理网络请求(解码查询字符串),比如(两个值得注意的是:)
- CGI
$query->{‘somearg’}
或类似 - Plack (Plack::Request)
- 可能还有其他的……(网络框架等等……)
我应该如何编写模块,以便与不同的前端一起使用?
考虑类似的事情:
pakage MyJSONProducer::Plack; # for Plack based apps
use MyJSONProducer; # My module
my $prod = MyJSONProducer->new();
my $args = decode_plack_request_args($env); #make a hashref from args...
my $json = $prod->run($args); # call with args…
package MyJSONProducer::CGI; # for CGI based ones
use MyJSONProducer;
my $prod = MyJSONProducer->new();
my $args = decode_cgi_args($query); #make a hashref from args...
my $json = $prod->run($args); # call with args...
等等…
但有些我觉得这不是一个很好的解决方案......
这里有一些推荐的方法来处理这种情况吗?任何 CPAN 模块我应该学习什么?