Evviva YAML! Abbasso XML!

Ultimamente le mie vicessititudini perliste mi hanno portato a scoprire YAML.

Ho sempre pensato che XML sia una merda che puo’ andare bene per i programmi ma non e’ molto umano.

YAML puo’ essere usato per molte robe al posto di XML. Io ad esempio lo sto usando per file di configurazione. Ad esempio questo piccolo fiel di configurazione qui sotto:

$ cat mm.conf.yml
---
hosts:

    - hostname: localhost
      port: 2812

    - hostname: linutop
      port: 2812
      username: admin
      password: monit

Puo’ essere parsato e schiafatto in un bel hash tree solo con queste poche linee di codice:

open (TEST, $f);
$file .= $_ while();
close TEST;
$cfg_file = Load($file);

Quello che vedrete nel hashref sara’ cosi’:

$VAR1 = {
          'hosts' => [
                       {
                         'hostname' => 'localhost',
                         'port' => '2812'
                       },
                       {
                         'password' => 'monit',
                         'hostname' => 'linutop',
                         'port' => '2812',
                         'username' => 'admin'
                       }
                     ]
        };

In XML lo stesso file potrebbe essere scritto cosi’:

< ?xml version="1.0" encoding="UTF-8"?>

  
  

O chissa’ in quali altri modi astrusi…
Come vedete YAML e’ molto piu’ leggibile di XML.
Fico vero?