perl 5 まとめウィキ

データ構造のスキーマを定義し、検証することができる。設定ファイル記入のエラーを未然に防いだりなど、使う場面は多々あると思う。



#!/usr/bin/perl

use strict;
use warnings;
use Kwalify qw/validate/;

my $shema = {
    type => 'map',
    mapping => {
        age => {
            type => 'int'
        },
        name => {
            type => 'text',
        },
        birthday => {
            type => 'date',
        }
    }
};

my $wrong = {
    age => 'very old',
    name => 123,
    birthday => 'yeasterday',
};

my $correct = {
    age => 33,
    name => 'Tomohiro',
    birthday => '1975-12-16'
};

print "TRY 1\n";
validate( $shema , $correct );
print "TRY 2\n";
validate( $shema , $wrong );

結果

TRY 1
TRY 2
  - [/birthday] Non-valid data 'yeasterday', expected a date (YYYY-MM-DD)
  - [/age] Non-valid data 'very old', expected an int
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

Menu

ここは自由に編集できるエリアです。

フリーエリア

どなたでも編集できます