Syntax YAML语法验证程序脚本
我的任务是创建和编辑相当多的YAML文件,但我希望通过脚本来运行它,而不是使用在线语法验证器。是否有可用的脚本来测试YAML语法?我通过Perl找到了一个使用Perl::xs的,但它不是特别可移植的 您应该尝试CPAN,它是纯perl的,没有依赖项,因此是可移植的。您甚至可以下载它并将其与您的验证程序脚本放在一起,而无需安装 下面是一个验证程序脚本示例:Syntax YAML语法验证程序脚本,syntax,yaml,Syntax,Yaml,我的任务是创建和编辑相当多的YAML文件,但我希望通过脚本来运行它,而不是使用在线语法验证器。是否有可用的脚本来测试YAML语法?我通过Perl找到了一个使用Perl::xs的,但它不是特别可移植的 您应该尝试CPAN,它是纯perl的,没有依赖项,因此是可移植的。您甚至可以下载它并将其与您的验证程序脚本放在一起,而无需安装 下面是一个验证程序脚本示例: 使用YAML qw(加载文件); 使用数据::转储程序; my$data=LoadFile($ARGV[0]); 打印转储程序(数据); 如
使用YAML qw(加载文件);
使用数据::转储程序;
my$data=LoadFile($ARGV[0]);
打印转储程序(数据);
如果发生任何错误,错误消息将告诉您问题出在哪里:
YAML错误:应为分隔符“-”
代码:YAML\u解析\u错误\u无\u分隔符
行:1
文件:2
在/Users/alec/perl5/perlbrew/perls/p5161t/lib/site_perl/5.16.1/YAML/Loader.pm第81行。
有几种方法可用于解析YAML。如果你的输入包含语法错误,他们应该都能给你一些反馈。你能澄清一下“可移植”吗?XS几乎可以在任何操作系统上工作。你是说不需要重新编译就可以从一台机器运送到另一台机器吗?YAML.pm是一个糟糕的YAML实现。您可以使用选择安装的最佳可用YAML实现。同意。事实上,我在大多数项目中都使用YAML::XS。但是既然@securitygate提到他不喜欢XS,我想他想要一个脚本级的解决方案。它将为您选择最佳安装版本。如果YAML::XS可用,它将使用它。如果不是,它将使用YAML.pm。