prefer YAML::Syck over YAML
[catagits/Catalyst-Plugin-Scheduler.git] / lib / Catalyst / Plugin / Scheduler.pm
index 3c4d649..8b446b7 100644 (file)
@@ -10,7 +10,6 @@ use File::stat;
 use NEXT;
 use Set::Scalar;
 use Storable qw/lock_store lock_retrieve/;
-use YAML;
 
 our $VERSION = '0.07';
 
@@ -260,7 +259,19 @@ sub _check_yaml {
             $c->_events( [] );
 
             my $file = $c->config->{scheduler}->{yaml_file};
-            my $yaml = YAML::LoadFile( "$file" );
+            my $yaml;
+
+            eval { require YAML::Syck; };
+            if( $@ ) {
+                require YAML;
+                $yaml = YAML::LoadFile( "$file" );
+            }
+            else {
+                open( my $fh, $file ) or die $!;
+                my $content = do { local $/; <$fh> };
+                close $fh;
+                $yaml = YAML::Syck::Load( $content );
+            }
             
             foreach my $event ( @{$yaml} ) {
                 $c->schedule( %{$event} );