Perl: неопределенная подпрограмма & main :: gmdate? - PullRequest
0 голосов
/ 19 июля 2011

Вот что я пытаюсь сделать (ничего сложного):

use Digest::MD5 qw(md5 md5_hex md5_base64);

$apikey = '1234';  
$secret = '123';  
$timestamp = gmdate('U');
$sig = md5($apikey . $secret . $timestamp);

echo $sig

Итак, ошибка возникает в строке $ timestamp = gmdate.

Что я делаю не так?

1 Ответ

3 голосов
/ 19 июля 2011

Я думаю, что вы ищете функцию gmtime, а не функцию gmdate.Хотя теперь, когда я вижу, что вы передаете 'U', я запутался.

Ах, я вижу, теперь PHP использует gmdate('U') так же, как Perl 5 использует gmtime().

Ой, у меня не получилось памяти, вам нужно использовать Time::Local или POSIX::mktime, чтобы превратить результат localtime или gmtime в секунды эпохи.

#!/usr/bin/perl

use strict;
use warnings;

use POSIX qw/mktime/;
use Time::Local qw/timegm/;

print "the time is now ", timegm(localtime()), " or ", mktime(gmtime()), "\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...