이 perl 모듈이 어떻게 작동하는지 이해하려고 노력 중이며, XML :: Smart라고합니다. 대부분은 모듈과 관련이없는 한 가지를 제외하고는 알아 내기 쉽습니다.중괄호로 둘러싸인 Perl 해시는 어떻게됩니까?
내가하고 싶은 일은 스크립트의 해시를 XML :: Smart 모듈로 복사하여 처리하는 것입니다. 그것을 "금지"하는 약간 후에 나는 그것을 내가 원하는대로 해줄 수 있었다. 문제는 정확히 내가 한 일이 아니라는 것입니다. 누군가가 이것이 영어로 무엇을 의미하는지에 대한 단서를 줄 수 있다면 그것은 위대 할 것입니다.
클래스를 만드는 것과 관련이 있다는 의미에서 모듈을 굴러 다니면서 엉망이되어 보였을 때 이와 비슷한 것을 보았습니다. 그 클래스가 호출 된 것인지 아니면 비슷한 것이 있는지는 확실하지 않았습니다.
내 코드는 다음과 같습니다.
#!/usr/bin/perl
use strict;
use warnings;
use XML::Smart;
my $xml_obj = XML::Smart->new();
my %config_file = (
"server01" => {
"connection" => {
"address" => "10.0.0.4",
"port" => "22",
}, "authentication" => {
"username" => "admin",
"password" => "password",
},
},
);
$xml_obj->{config} = {%config_file};
"\ % config"와 (과) 동일합니까? – ianc1215
@Solignis - 아니, 원래 해시에 대한 참조 일 뿐이며 사본이 아닙니다. – Quentin
내가하려고하는 일은 너무 많은 복사본 (단어의 나쁜 선택)이 아니라 "원래 해시를 $ xml_obj -> {config}에 반영하고 싶습니다. 의미가 있습니까? – ianc1215