in reply to Re^3: More than one way to skin an architecture
in thread More than one way to skin an architecture
If you go the human readable route, take a close look at your options before commiting. Personally, I don't find YAML easy to follow or maintain.
By way of example, here are the outputs of a moderately complex randomly generated structure from 3 contenders: Data::Dump, Data::Dumper and YAML. See which you understand best, and prefer to maintain.
I also think that human-readable is a double-edged sword that should only be weilded if there is a definite need.
C:\test>674641.pl do { my $a = { a => { iagigujwds => { nrsjkbvebi => 727, ppcumppovr => "AALWYKSPVW", rxjncxfnrl => "KOJTTTTDFH", sfsqrocobz => "CBAJHSDKBR", yqzbowkhha => "IMALNPTKJV", }, nxuzfxuywx => 183, qsbhgkxssx => { pfywkzexol => "FEQLPSLRKV", pngkjaufbk => 540, qkgdwbloho => "IJRUUNPUXD", uezuwflatc => { gxgddycbbi => [undef, undef, undef, 789, 361, "WFGOZBCNLC"], odfjakcrwb => 786, sfegnxcxlc => "OYBHDZQHXJ", unrdrsuawq => 691, ykgpgrylxa => "LYVNVSKGAN", }, uqrxlxrdqo => "ZBGEGDQXYF", }, wdhomtesza => "QGGTUESMCU", wwpswadsqf => [ undef, [ undef, "JXVTEWSNHA", { eevmentkho => 582, mdjvanrlcy => 721, mjwilhzhto => 345, nztiermbsn => { dmgwfuvzzp => 539, ghvajcrbax => undef, hprvsmftml => undef, ljbpuunhws => "DAAJNOPPER", pktpojdflu => 108 }, ydxshlbzrd => undef, }, [undef, "NXAZOBNFVQ", "VDCTIYHIDT", 600, "DABUWFDOAC", 686], "LFSHLGPNQE", 695, ], "IEZLZCQCLY", [ undef, { brziohecww => 727, mctpqrudow => 351, nditivywsh => "ICBQVOLKHM", nfhxorcmjm => "BUNPYBWQIC", sojetoxgep => "FQPLMPQWVQ", }, 382, 606, undef, undef, ], "QWMTMJUOJY", "JDTYPAIBQD", ], }, b => 'fix', }; $a->{b} = $a->{a}; $a; } $VAR1 = { 'a' => { 'iagigujwds' => { 'yqzbowkhha' => 'IMALNPTKJV', 'sfsqrocobz' => 'CBAJHSDKBR', 'rxjncxfnrl' => 'KOJTTTTDFH', 'ppcumppovr' => 'AALWYKSPVW', 'nrsjkbvebi' => 727 }, 'qsbhgkxssx' => { 'uqrxlxrdqo' => 'ZBGEGDQXYF', 'qkgdwbloho' => 'IJRUUNPUXD', 'pfywkzexol' => 'FEQLPSLRKV', 'pngkjaufbk' => 540, 'uezuwflatc' => { 'unrdrsuawq' => + 691, 'odfjakcrwb' => + 786, 'gxgddycbbi' => + [ + undef, + undef, + undef, + 789, + 361, + 'WFGOZBCNLC' + ], 'sfegnxcxlc' => + 'OYBHDZQHXJ', 'ykgpgrylxa' => + 'LYVNVSKGAN' } }, 'wwpswadsqf' => [ undef, [ undef, 'JXVTEWSNHA', { 'mdjvanrlcy' => 721, 'mjwilhzhto' => 345, 'nztiermbsn' => { 'ghvajcrbax +' => undef, 'pktpojdflu +' => 108, 'hprvsmftml +' => undef, 'ljbpuunhws +' => 'DAAJNOPPER', 'dmgwfuvzzp +' => 539 }, 'eevmentkho' => 582, 'ydxshlbzrd' => undef }, [ undef, 'NXAZOBNFVQ', 'VDCTIYHIDT', 600, 'DABUWFDOAC', 686 ], 'LFSHLGPNQE', 695 ], 'IEZLZCQCLY', [ undef, { 'brziohecww' => 727, 'nditivywsh' => 'ICBQVOLKHM', 'nfhxorcmjm' => 'BUNPYBWQIC', 'mctpqrudow' => 351, 'sojetoxgep' => 'FQPLMPQWVQ' }, 382, 606, undef, undef ], 'QWMTMJUOJY', 'JDTYPAIBQD' ], 'wdhomtesza' => 'QGGTUESMCU', 'nxuzfxuywx' => 183 }, 'b' => $VAR1->{'a'} }; --- a: &1 iagigujwds: nrsjkbvebi: 727 ppcumppovr: AALWYKSPVW rxjncxfnrl: KOJTTTTDFH sfsqrocobz: CBAJHSDKBR yqzbowkhha: IMALNPTKJV nxuzfxuywx: 183 qsbhgkxssx: pfywkzexol: FEQLPSLRKV pngkjaufbk: 540 qkgdwbloho: IJRUUNPUXD uezuwflatc: gxgddycbbi: - ~ - ~ - ~ - 789 - 361 - WFGOZBCNLC odfjakcrwb: 786 sfegnxcxlc: OYBHDZQHXJ unrdrsuawq: 691 ykgpgrylxa: LYVNVSKGAN uqrxlxrdqo: ZBGEGDQXYF wdhomtesza: QGGTUESMCU wwpswadsqf: - ~ - - ~ - JXVTEWSNHA - eevmentkho: 582 mdjvanrlcy: 721 mjwilhzhto: 345 nztiermbsn: dmgwfuvzzp: 539 ghvajcrbax: ~ hprvsmftml: ~ ljbpuunhws: DAAJNOPPER pktpojdflu: 108 ydxshlbzrd: ~ - - ~ - NXAZOBNFVQ - VDCTIYHIDT - 600 - DABUWFDOAC - 686 - LFSHLGPNQE - 695 - IEZLZCQCLY - - ~ - brziohecww: 727 mctpqrudow: 351 nditivywsh: ICBQVOLKHM nfhxorcmjm: BUNPYBWQIC sojetoxgep: FQPLMPQWVQ - 382 - 606 - ~ - ~ - QWMTMJUOJY - JDTYPAIBQD b: *1
|
|---|