:Perl의 해시 내에서 내 해쉬 선언이 잘못 되었습니까? 나는 펄에서 해시의 다음과 같은 선언으로 고민하고
my %xmlStructure = {
hostname => $dbHost,
username => $dbUsername,
password => $dbPassword,
dev_table => $dbTable,
octopus => {
alert_dir => $alert_dir,
broadcast_id => $broadcast_id,
system_id => $system_id,
subkey => $subkey
}
};
나는 인터넷 검색을 봤는데, 그러나 나는 해결책을 마련하지 못하고, 내가 만드는 모든 수정에 종료 다른 경고 또는 결과에 내가 원하지 않는. 다음 텍스트로
펄 불만 :
Reference found where even-sized list expected at ./configurator.pl line X.
내가 모듈을 사용하고자하기 때문에 나는 그런 식으로 일을 오전 다음과 XML 파일을 생성하기 위해
XML::Simple
구조 :
<settings>
<username></username>
<password></password>
<database></database>
<hostname></hostname>
<dev_table></dev_table>
<octopus>
<alert_dir></alert_dir>
<broadcast_id></broadcast_id>
<subkey></subkey>
</octopus>
</settings>
지금처럼 sometthing :
my $data = $xmlFile->XMLout(%xmlStructure);
warn Dumper($data);
은 xml 샘플 구조체를 표시합니다.
업데이트 : 내가 대신 해시 참조 중괄호 괄호를 사용하여 시도한다는 얘기를 깜빡 했네요, 그리고 바로 그겁니다가 작동하는 것 같다
, XML 파일이 제대로 기록되지 않습니다 : 나는 결국 정확히 잘못 아니지만, XML 파일이 더 큰 증가로 후자의 문제가있을거야 만약 내가 확실하지 않다
<settings>
<dev_table>5L3IQWmNOw==</dev_table>
<hostname>gQMgO3/hvMjc</hostname>
<octopus>
<alert_dir>l</alert_dir>
<broadcast_id>l</broadcast_id>
<subkey>l</subkey>
<system_id>l</system_id>
</octopus>
<password>dZJomteHXg==</password>
<username>sjfPIQ==</username>
</settings>
: 다음과 같은 구조. 자격 증명은 RC4 알고리즘을 사용하여 암호화되지만 특수 문자로 인한 오작동을 피하기 위해 64에서 인코딩합니다. 감사합니다.
감사합니다! 필자는 Perl을 처음 접했고, 이런 종류의 라이브러리에 대해서 알지 못한다. 이 사람은 내가 원하는 방식대로 정확하게 일을했다. – ILikeTacos