cuốn sách gpt4 ai đã làm

Perl - Tập lệnh biên dịch lỗi ERR (chức năng mới): user_script:2: '=' dự kiến ​​gần 'end' , .../lib/site_perl/5.8.7/Redis.pm dòng 163

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 11:04:09 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi đã tạo tập lệnh lua cơ bản để loại trừ một tham số và in giá trị của nó, sử dụng redis-cli nó thực thi mà không có lỗi và o/p được in trong tệp nhật ký.

$ cat test.lua
redis.replica_commands()
var cục bộ = ARGV[1]
in('var', var)
$ redis-cli --eval test.lua, A
không
$

Tôi muốn sử dụng tập lệnh Perl để chạy tập lệnh lua:

$ mèo eval.pl
#!/usr/bin/Perl

use strict;
use warnings;
sử dụng Redis;

$r của tôi = Redis->mới(
máy chủ => '127.0.0.1:6379',
kết nối lại => 3,
mọi => 1,5 * 1000000,
bảo thủ_reconnect => 1,
no_auto_connect_on_new => 1,
cnx_timeout => 15,
);
đánh giá {
$r->kết nối;
};
nếu ($@) {
print '$@ : '.$@;
}
$result = $r->eval( "test.lua", 0, 'A' );
in "kết quả: $result\n";
$

Nhưng tôi nhận được lỗi:

[eval] Tập lệnh biên dịch lỗi ERR (chức năng mới): user_script:2: '=' dự kiến ​​​​gần 'end' , tại/../lib/site_perl/5.8.7/Redis.pm dòng 163

Phiên bản redis của tôi là 1.991

Thông báo lỗi không đủ mô tả để gỡ lỗi

Mã trên dòng 163 của Redis.pm là

 141 phụ __with_reconnect {
142 của tôi ($self, $cb) = @_;
143
144 ## Đường dẫn nhanh, không kết nối lại được
145 $self->{kết nối lại}
146 hoặc trả về $cb->();
147
148 quay lại &thử(
149$cb,
150 bắt {
151 ref($_) eq 'Redis::X::Reconnect'
152 hoặc chết $_;
153
154 $self->{__inside_transaction} || $self->{__inside_watch}
155 và croak("kết nối lại bị vô hiệu hóa trong giao dịch hoặc đồng hồ");
156
157 vô hướng @{$self->{queue} ||
158 và croak("kết nối lại bị tắt trong khi phản hồi đang chờ xử lý và chế độ kết nối lại thận trọng đã bật");
159
160 $tự->kết nối;
161 $cb->();
162 }
163);
164 }

Tôi có đang sử dụng đánh giá phụ sai cách không?

câu trả lời hay nhất

检查 Tài liệu RedisLiên kết từ làm lại , đánh giá Phương thức này dường như lấy nội dung tập lệnh làm đối số đầu tiên chứ không phải tên tệp.

thử

mở $SCRIPT, '<', 'test.lua' của tôi hoặc chết $!;
$result = $r->eval( do { local $/; <$SCRIPT> }, 0, 'A' );

Giới thiệu về Perl - Tập lệnh biên dịch lỗi ERR (chức năng mới): user_script:2: '=' dự kiến ​​gần 'end' , .../lib/site_perl/5.8.7/Redis.pm dòng 163, chúng tôi đã tìm thấy trên Stack Overflow Một điều tương tự câu hỏi: https://stackoverflow.com/questions/44523195/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress