in reply to Re^2: Looking for feedback on my documentation
in thread Looking for feedback on my documentation

If you could throw in a statement from your blog article
saying something like "Type::Tiny is a drop-in replacement for Params::Validate."

That would help a lot.

Even more helpful would be : synopsis -style code for : how to re-write your "sub hash_add()" parameter validator using Type::Tiny (without antlers/rodents etc).

                "From there to here, from here to there, funny things are everywhere." -- Dr. Seuss

  • Comment on Re^3: Looking for feedback on my documentation

Replies are listed 'Best First'.
Re^4: Looking for feedback on my documentation
by tobyink (Canon) on Nov 26, 2019 at 17:12 UTC
      I was hoping for something like this:
      use strict; use warnings; use Type::Tiny; my $Is_A_Duck = "Type::Tiny"->new( name => "DuckCheck", constraint => sub { $_->{speech} eq "QUACK" and $_->{walk} eq "WADD +LE" }, message => sub { "$_->{name} is not a duck!" }, ); my @candidates = ( {name=>"Daffy", speech=> "QUACK", walk=> "WADDLE"}, {name=>"Daisy", speech=> "QUACK", walk=> "WADDLE"}, {name=>"Donald", speech=> "Bizarre", walk=> "WADDLE"}, {name=>"Platypus",speech=>"QUACK", walk=> "SHUFFLE"}, ); for my $c (@candidates){ if (my $msg= $Is_A_Duck->validate($c)){ print "$_\n" for @{ $Is_A_Duck->validate_explain($c, $c->{name}) +}; }else{ print "$c->{name} is a Duck!\n"; } } print "Exiting...\n";
      This outputs:
      >perl typetest.pl Daffy is a Duck! Daisy is a Duck! Donald is not a duck! (in Donald) "DuckCheck" is defined as: sub { $_->{'walk'} eq 'WADDLE' if $_->{'spe +ech'} eq 'QUACK'; } Platypus is not a duck! (in Platypus) "DuckCheck" is defined as: sub { $_->{'walk'} eq 'WADDLE' if $_->{'spe +ech'} eq 'QUACK'; } Exiting...

                      "From there to here, from here to there, funny things are everywhere." -- Dr. Seuss