Bạn có thể mở bộ xử lý trong bộ nhớ?Mở tệp trong bộ nhớ nghĩa là gì?
Phần trong bộ nhớ không rõ ràng với tôi, điều đó có nghĩa là gì?
Nếu điều đó có nghĩa là bạn có thể sử dụng bộ nhớ của máy tính, Có phải nó đã hoạt động như thế không?
Bạn có thể mở bộ xử lý trong bộ nhớ?Mở tệp trong bộ nhớ nghĩa là gì?
Phần trong bộ nhớ không rõ ràng với tôi, điều đó có nghĩa là gì?
Nếu điều đó có nghĩa là bạn có thể sử dụng bộ nhớ của máy tính, Có phải nó đã hoạt động như thế không?
Điều đó có nghĩa là bạn có thể sử dụng các tệp thủ công để ghi và đọc từ các biến vô hướng.
my $var = "";
open my $fh, '>', \$var;
print $fh "asdf";
close $fh;
print $var; # asdf
Cuối cùng, đây chỉ là One More Way To Do
$var .= "asdf"
nhưng có bối cảnh ở đâu là thuận tiện hơn hoặc thích hợp hơn để sử dụng mô filehandle hơn mô hình chuỗi thao tác.
Ví dụ, hãy bắt đầu với mã này:
open my $fh, '>', $logfile;
...
print $fh $some_message_to_be_logged;
... 500 more print $fh statements ...
close $fh;
Nhưng bạn biết gì không? Bây giờ tôi thà ghi lại tin nhắn đăng nhập của tôi trong một biến vô hướng, có lẽ vì vậy tôi có thể tìm kiếm thông qua họ, vận dụng chúng trước khi chúng được ghi vào đĩa, vv Tôi có thể thay đổi tất cả print
báo cáo của tôi để
$logvar .= $some_message_to_be_logged
nhưng trong trường hợp này thuận tiện hơn là chỉ cần thay đổi câu lệnh open
.
open my $fh, '>', \$logvar
Bạn có thể mở Filehandles trực tiếp đến các biến vô hướng. Nó đặc biệt hữu ích khi bạn có một cái gì đó mà phải cư xử như một tập tin, nhưng bạn không muốn một trên đĩa. Ví dụ này được lấy từ perldoc:
close STDOUT;
open(STDOUT, ">", \$variable)
or die "Can't open STDOUT: $!";
Nó đóng STDOUT và sau đó mở lại nó gắn liền với $variable
.
Bạn đã đọc cái này ở đâu? Nó là gây hiểu nhầm, bởi vì một tập tin xử lý là * luôn luôn * một cấu trúc trong bộ nhớ. Nó rất có thể đề cập đến việc mở tập tin xử lý trực tiếp đến các biến vô hướng Perl (có trong bộ nhớ). – Borodin
có, bình luận của bạn là chính xác, đó là những gì tôi có nghĩa là – airnet
'perldoc -f open' đề cập đến những" tệp trong bộ nhớ " – mob