Tôi đang cố gắng để có được phản ứng của một cuộc gọi curl thành một biến trong perl.Làm thế nào để có được đầu ra của curl thành một biến trong Perl nếu tôi gọi nó bằng cách sử dụng backtics?
my $foo = `curl yadd yadda`;
print $foo;
không hoạt động. Khi tôi chạy lệnh này tại dòng lệnh, cuộc gọi curl sẽ in tất cả đầu ra của nó một cách chính xác trong thiết bị đầu cuối, nhưng biến không được lấp đầy với dữ liệu đó.
Có cách nào để thực hiện việc này mà không cần cài đặt và gọi đến thư viện Perl curl không?
Điều đó đã làm được! cảm ơn!. Tôi sẽ cung cấp cho bạn dấu kiểm nếu bạn có thể thêm một hoặc hai câu về những gì 2> & 1 thực sự làm và tại sao di chuyển nó từ stderr đến bất cứ điều gì & 1 được đổ nó vào biến. Cảm ơn rất nhiều! –
2> foo có nghĩa là "chuyển hướng stderr vào tệp foo". & 1 có nghĩa là stdout, tức là, chuyển hướng stderr đến stdout.Bạn cũng có thể thực hiện theo cách khác: "> & 2" có nghĩa là "chuyển hướng stdout thành stderr". Để chuyển hướng cả stdout và stderr, bạn có thể sử dụng "> &", nghĩa là foocommand &> file_with_boththings.txt – sunny256
Ký hiệu '2> & 1' có nghĩa là bộ mô tả tập tin 2 (stderr) được gửi đến cùng một nơi mà bộ mô tả tập tin 1 (stdout)) được gửi đến. Vì vậy, cả hai đầu ra tiêu chuẩn và lỗi tiêu chuẩn được ghi vào cùng một vị trí (đầu ra tiêu chuẩn). Và backticks của Perl nắm bắt đầu ra tiêu chuẩn của lệnh được thực hiện, do đó ... –