YAML::LoadURI - Load YAML from URI file


YAML-LoadURI documentation Contained in the YAML-LoadURI distribution.

Index


Code Index:

NAME

Top

YAML::LoadURI - Load YAML from URI file

SYNOPSIS

Top

    use YAML::LoadURI;
    my $hashref = LoadURI( $uri );

EXPORT

Top

FUNCTIONS

Top

LoadURI( $uri, $opts )

    my $h  = LoadURI( 'http://search.cpan.org/dist/WWW-Contact/META.yml' );
    my $h2 = LoadURI( $uri, { raise_error => 0 } );

by default, it would croak when we can't get the file from remote. you can use { raise_error => 0 } to make it silence.

SEE ALSO

Top

YAML::Any, LWP::Simple

AUTHOR

Top

Fayland Lam, <fayland at gmail.com>

COPYRIGHT & LICENSE

Top


YAML-LoadURI documentation Contained in the YAML-LoadURI distribution.

package YAML::LoadURI;

use warnings;
use strict;

our $VERSION = '0.01';

use base 'Exporter';
our @EXPORT = ('LoadURI');

use LWP::Simple ();
use YAML::Any   ();
use Carp qw/croak/;

sub LoadURI {
    my ( $uri, $opts ) = @_;
    
    $opts->{raise_error} = 1 unless exists $opts->{raise_error};
    
    my $yaml = LWP::Simple::get($uri);
    unless (defined $yaml) {
        croak "Couldn't get it!" if $opts->{raise_error};
        return undef;
    }
    unless ( $yaml =~ /^---/ ) {
        croak "invalid YAML" if $opts->{raise_error};
        return undef;
    }
    
    return YAML::Any::Load($yaml);
}

1;
__END__