- my $nodes = [];
- my $nodes_by_id = {};
- for my $file (@files) {
- my $data = YAML::XS::LoadFile(File::Spec->catfile($path, $file));
- _merge($nodes, $nodes_by_id, $data);
- }
+ my $nodes = [];
+ my $nodes_by_id = {};
+ for my $file (@files) {
+ my $data;
+ eval {
+ if ($yaml_xs) {
+ $data = YAML::XS::LoadFile(File::Spec->catfile($path, $file));
+ } else {
+ $data = YAML::LoadFile(File::Spec->catfile($path, $file));
+ }
+ 1;
+ } or do {
+ die "Error while parsing $file: $@";
+ };