Две вещи выпрыгивают из меня:
Во-первых, вы используете строку в одинарных кавычках с последовательностью символов \0
, что, вероятно, не то, что вам нужно. Используйте строки в двойных кавычках для интерполяции этой последовательности в символ NUL
или добавьте ее отдельно:
my $site = "http://www.test_site.cn/\0";
my $value ='data=testdata; expires = Thu, 15-Nov-2010 15:08:00 GMT' . chr(0);
Во-вторых, вы устанавливаете $key
на 0, но ваш комментарий указывает, что вы думаете, что он устанавливает NULL
. Perl очень разнородный гибкий в отношении обработки чисел как строк и наоборот, поэтому в результате вы, вероятно, передаете строковое значение "0"
в функцию DLL (и, возможно, без символа NUL
в конце строки). Вы можете попробовать один из
my $key = '';
my $key = "\0";
Кроме того, проверьте $!
и $^E
для других сообщений об ошибках, установленных Perl и Windows.