| Config-Any documentation | Contained in the Config-Any distribution. |
Config::Any::YAML - Load YAML config files
Loads YAML files. Example:
---
name: TestApp
Controller::Foo:
foo: bar
Model::Baz:
qux: xyzzy
return an array of valid extensions (yml, yaml).
Attempts to load $file as a YAML file.
Specifies that this modules requires one of YAML::XS, YAML::Syck (0.70) or YAML in order to work.
Brian Cassidy <bricas@cpan.org>
Copyright 2006-2011 by Brian Cassidy
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Config-Any documentation | Contained in the Config-Any distribution. |
package Config::Any::YAML; use strict; use warnings; use base 'Config::Any::Base'; use Carp ();
sub extensions { return qw( yml yaml ); }
sub load { my $class = shift; my $file = shift; eval { require YAML::XS }; unless ( $@ ) { return YAML::XS::LoadFile( $file ); } Carp::carp 'Use of YAML::Syck or YAML to parse config files is DEPRECATED. ' . 'Please install YAML::XS for proper YAML support'; eval { require YAML::Syck; YAML::Syck->VERSION( '0.70' ) }; unless ( $@ ) { open( my $fh, $file ) or die $!; my $content = do { local $/; <$fh> }; close $fh; return YAML::Syck::Load( $content ); } require YAML; return YAML::LoadFile( $file ); }
sub requires_any_of { 'YAML::XS', [ 'YAML::Syck', '0.70' ], 'YAML' }
1;