Когда я нужен уникальный идентификатор для использования с Mojolicious, я использовал Data::UUID
, который генерирует длинный (128bit) номер в соответствии с RFC 4122
Я не могу быть более конкретным без четкой идеи вашего использования случай, но это работает хорошо:
#!/usr/bin/env perl
use strict;
use warnings;
use Data::UUID;
my $gen = Data::UUID -> new();
my $binary_uuid = $gen -> create ;
print $gen -> to_string ($binary_uuid),"\n";
print $gen -> to_hexstring ($binary_uuid),"\n";
print $gen -> to_b64string ($binary_uuid),"\n";
У вас есть выбор выходных форматов. Вы можете, если это полезно для вашего приложения, создать напрямую, например:
my $gen = Data::UUID -> new();
my $uuid = $gen -> create_str ;
print $uuid, "\n";
#reformat output
print $gen -> to_hexstring ($uuid),"\n";
Вы можете определенно добавить промежуточное программное обеспечение перед своей программой Dancer. Где проблема с этим? – simbabque
Это не пакет Debian и зависит от приложения Dancer для работы через Plack. – Sebastian
Объект [Dancer :: Request имеет свойство _id_] (https://metacpan.org/source/BIGPRESH/Dancer-1.3202/lib/Dancer/Request.pm#L130), который, по-видимому, является номером автоинкремента. Я попробую, как его использовать. – simbabque