2009-05-26 27 views

Trả lời

23
print Data::Dumper->Dump([ \%foo ], [ qw(*foo) ]); 

Cú pháp mở rộng phải mất hai arrayrefs: một trong vô hướng để đổ, và một trong những tên sử dụng. Nếu tên được đặt trước bởi dấu * và vô hướng tương ứng là một arrayref hoặc hashref, một mảng hoặc gán băm được tạo ra.

+0

Ah, tôi đã cố gắng gắn bó tất cả mọi thứ tôi có thể nghĩ đến (hoặc copy-paste từ perldoc) ở giữa các dấu ngoặc đơn, nhưng tôi đã không nhận ra rằng vấn đề là tôi đã sử dụng Dumper() thay vì dữ liệu :: Dumper-> Dump(). – raldi

8

Ngoài câu trả lời của ysth, bạn có thể sử dụng mô-đun Data::Dumper::Names của Ovid.

4
use Data::Dumper; 

$Data::Dumper::Terse = 1; 

print '%foo = '.(Dumper \%foo); 
+0

Có thể là tốt đẹp để mở rộng điều này để giải thích tại sao mã của bạn trả lời câu hỏi. – pjmorse

+0

Giải pháp đơn giản và tốt nhất. Giống như 'pformat' của Python – saeedgnu

Các vấn đề liên quan