Если я хочу запустить приложение Perl Dancer, мне нужно выполнить следующую команду:
perl app.psgi
Если я хочу передать параметр приложению и получить к нему доступ внутри сценария из @ ARGV, я могу сделать это так:
perl app.psgi --option1 --option2
Я могу запустить это приложение, используя также «plackup», однако я не могу передать параметры, например, когда я запускаю скрипт с использованием Perl. Массив параметров @ARGV пуст.
Что делать? Как передать параметры командной строки в сценарий «app.psgi», запущенный с «plackup»?
Ниже приведен пример того, как сценарий выглядит примерно так:
#!/usr/bin/env perl
use Dancer2;
use Data::Dumper;
use MIME::Base64 qw( encode_base64 );
use POSIX;
my $system = shift @ARGV || 'default_system';
print "SYSTEM: $system\n";
my $host = '127.0.0.1';
my $port = 5000;
set host => $host;
set port => $port;
get '/expenses' => sub {
my %params = params;
return to_json {status => 'OK'};
};
post '/expenses' => sub {
my %params = params;
return to_json {status => 'OK'};
};
dance;