Context Navigation

Tags in the form of '!perl/...' have a full form of <tag:yaml.org,2002:perl/...>. This implies that implementation that use '!perl/...' for tagging, should strive to stick with in the confines described in this document.

A YAML Loader that sees a form like that above, will simply bless the referent to create the object. The 'Foo::Bar' class' YAML API will not be called.

There also needs to be a standard tag form for a class which implements its own yaml API. In this case, YAML Loader will throw an exception if there is no class to load the object. The following options are under consideration.

!!perl/object:Foo::Bar
!!perl/:Foo::Bar
!!perl/Foo::Bar

Note: the first form, while more verbose, more closely matches what Python and Ruby do. (I think) See PythonTagScheme.

The '!!perl' forms are only consumable by Perl (or languages supporting a full Perl semantic). To share objects with, say, Python, use this form: