Because YAML has a particular format, delineated with the "---", you will have to add a top level key that contains the contents you desire. When You decode, you will have to deference the hash key that this corresponds to.
For example:
---
This: top level mapping
is:
- a
- YAML
- document
will decode to a hash that looks like:
my $yaml_hash_ref = {
This => 'top level mapping',
is => ['a', 'yaml', 'document']
};
Therefore, if you want "%This" to be your hash variable, you need to do this:
my %This = %{$yaml_hash_ref->{This}};
If you want the whole structure, you just use whatever YAML::decode gives you, i.e.,
YAML's encode doesn't take into account the name of your variable containing the data structure to convert to YAML. Similarly, decode returns a data structure reference (scalar, array, or hash) depending on how complex (e.g., hash references contain all non-trivial data structures implied by the YAML). | [reply] [Watch: Dir/Any] [d/l] [select] |
I'm using YAML in my example, too. It depends on your definition of "using".
Imagine you want to use English, but you use "mwa" instead of "the". Are you still using English?
| [reply] [Watch: Dir/Any] |