view release on metacpan or search on metacpan
whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed effective
as of the date CC0 was applied by Affirmer to the Work. Should any part of
the License for any reason be judged legally invalid or ineffective under
applicable law, such partial invalidity or ineffectiveness shall not
invalidate the remainder of the License, and in such case Affirmer hereby
affirms that he or she will not (i) exercise any of his or her remaining
Copyright and Related Rights in the Work or (ii) assert any associated claims
and causes of action with respect to the Work, in either case contrary to
Affirmer's express Statement of Purpose.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub go {
my ( $self, $action, @args ) = @_;
$self->_validate_config();
my $dispatch = {
'add-file' => \&add_file,
'del-file' => \&del_file,
'clean' => \&clean,
lib/App/Nrepo.pm view on Meta::CPAN
$dispatch->{$action}->( $self, @args );
exit(0);
}
sub _validate_config {
my $self = shift;
# If data_dir is relative, lets expand it based on cwd
$self->config->{'data_dir'} =
File::Spec->rel2abs( $self->config->{data_dir} );
lib/App/Nrepo.pm view on Meta::CPAN
}
}
sub _get_plugin {
my $self = shift;
my %o = validate(
@_,
{
type => { type => SCALAR, },
options => { options => HASHREF, },
}
lib/App/Nrepo.pm view on Meta::CPAN
return $plugin;
}
sub _get_repo_dir {
my $self = shift;
my %o = validate(
@_,
{
repo => { type => SCALAR },
tag => { type => SCALAR, default => 'head', },
}
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub add_file {
my $self = shift;
my %o = validate(
@_,
{
'repo' => { type => SCALAR },
'arch' => { type => SCALAR },
'file' => { type => SCALAR | ARRAYREF },
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub del_file {
my $self = shift;
my %o = validate(
@_,
{
'repo' => { type => SCALAR },
'arch' => { type => SCALAR },
'file' => { type => SCALAR | ARRAYREF },
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub clean {
my $self = shift;
my %o = validate(
@_,
{
repo => { type => SCALAR, },
arch => { type => SCALAR, optional => 1 },
force => { type => BOOLEAN, optional => 1, },
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub init {
my $self = shift;
my %o = validate(
@_,
{
repo => { type => SCALAR, },
arch => { type => SCALAR, optional => 1 },
}
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub mirror {
my $self = shift;
my %o = validate(
@_,
{
'repo' => { type => SCALAR },
'force' => { type => BOOLEAN, default => 0 },
'arch' => { type => SCALAR, optional => 1 },
lib/App/Nrepo.pm view on Meta::CPAN
=cut
sub tag {
my $self = shift;
my %o = validate(
@_,
{
'repo' => { type => SCALAR },
'tag' => { type => SCALAR },
'src-tag' => { type => SCALAR, default => 'head' },
view all matches for this distribution
view release on metacpan or search on metacpan
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Office/CMS.pm view on Meta::CPAN
$self -> log(debug => 'A message');
$self -> log(info => 'Another message');
=item o Validator.pm
This is used to validate CGI form data.
=back
=item o What's the database schema?
lib/App/Office/CMS.pm view on Meta::CPAN
=item o update()
=back
=item o App::Office::CMS::Util::Validator.validate_page()
=item o App::Office::CMS::Database::Page.save_page_record()
=item o App::Office::CMS::View::Page.build_update_page_html()
lib/App/Office/CMS.pm view on Meta::CPAN
templates. See below for details.
=item o Validator.pm
This is C<App::Office::CMS::Util::Validator>. You'll have to edit the
validate_design() method.
=item o The declaration of update_page_callback() (2 of 2)
This is in page.js. This is the Javascript function which receives the output
of CustomPage.pm.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Office/Contacts/Donations/Controller.pm view on Meta::CPAN
script_name => $self -> script_name,
session => $self -> param('session'),
tmpl_path => $self -> tmpl_path,
) );
if ($self -> validate_post == 0)
{
$self -> prerun_mode('Initialize');
}
} # End of cgiapp_prerun.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Office/Contacts/Import/vCards/Controller.pm view on Meta::CPAN
script_name => $self -> script_name,
session => $self -> param('session'),
tmpl_path => $self -> tmpl_path,
) );
if ($self -> validate_post == 0)
{
$self -> prerun_mode('Initialize');
}
} # End of cgiapp_prerun.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Office/Contacts.pm view on Meta::CPAN
Hence it will not be used by C<CGI> scripts, unless you write such a script yourself.
=item Validator.pm
This is used to validate CGI form data.
=back
=head2 Why did you use Sub::Exporter?
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Oozie/Deploy.pm view on Meta::CPAN
if ( $verbose ) {
$logger->debug("Assert file: $absolute_path");
}
# assert_valid() does not display the error message, hence the manual check
my $error = $is_file->validate( $absolute_path ) || next;
$logger->logdie( sprintf 'required_tt_files(): %s', $error );
}
if ( $verbose ) {
$logger->debug( join q{=}, $_, $self->$_ ) for qw(
lib/App/Oozie/Deploy.pm view on Meta::CPAN
for my $xml_file ( $sv->local_xml_files ) {
my $parsed = $sv->maybe_parse_xml( $xml_file );
if ( my $error = $parsed->{error} ) {
$logger->fatal(
sprintf q{We can't validate %s since parsing failed: %s},
$parsed->{relative_file_name},
$error,
);
${ $validation_errors_ref }++;
${ $total_errors_ref }++;
lib/App/Oozie/Deploy.pm view on Meta::CPAN
\$validation_errors,
\$total_errors,
);
if ( $self->write_ownership_to_workflow_xml ) {
$self->validate_meta_file(
File::Spec->catfile( $workflow, $self->meta->file ),
\$validation_errors,
\$total_errors,
{},
);
lib/App/Oozie/Deploy.pm view on Meta::CPAN
}
return $validation_errors, $total_errors, $dest, $cvc;
}
sub validate_meta_file {
my $self = shift;
my $file = shift;
$self->logger->info( sprintf 'Extra validation for %s', $file );
lib/App/Oozie/Deploy.pm view on Meta::CPAN
=head2 run
=head2 upload_to_hdfs
=head2 validate_meta_file
=head2 verify_temp_dir
=head2 write_deployment_meta_file
view all matches for this distribution
view release on metacpan or search on metacpan
script/restart-opera view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
format (see --format)
log_level (see --log-level)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Options.pm view on Meta::CPAN
my ($type);
if ($option_defs) {
@vars = (sort keys %$option_defs);
foreach $var (@vars) {
$type = $option_defs->{$var}{type};
next if (!$type); # nothing to validate against
$value = $values->{$var};
next if (! defined $value);
if ($type eq "integer") {
if ($value !~ /^-?[0-9_]+$/) {
$exit_status = 1;
lib/App/Options.pm view on Meta::CPAN
=head2 Help and Validations
If the "-?" or "--help" options were set on the command line,
the usage statement is printed, and the program is exited.
Then each of the options which is defined may be validated.
If an option is designated as "required", its value must be
defined somewhere (although it may be the empty string).
(If it is also required to be a non-empty string, a regex
may be provided for the type, i.e. type => "/./".)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/ListOrgTodos.pm view on Meta::CPAN
done => sub { my $as = shift; $as->{schema}[1]{default} = 0 },
sort => sub { my $as = shift; $as->{schema}[1]{default} = 'due_date' },
},
modify_meta => sub {
my $meta = shift;
$meta->{"x.dist.zilla.plugin.rinci.wrap.wrap_args"} = {validate_args=>0, validate_result=>0}; # don't bother checking arguments, they will be checked in list_org_headlines()
},
output_code => sub {
my %args = @_;
$args{done} //= 0;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PAIA/Command/logout.pm view on Meta::CPAN
1;
__END__
=head1 NAME
App::PAIA::Command::logout - invalidate an access token
=cut
view all matches for this distribution
view release on metacpan or search on metacpan
script/add-pdf-password view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
backup (see --no-backup)
files (see --files)
view all matches for this distribution
view release on metacpan or search on metacpan
script/pdrutil view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
=head2 Common for all subcommands
view all matches for this distribution
view release on metacpan or search on metacpan
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PLab/ImageApp.pm view on Meta::CPAN
package App::PLab::TrImageViewer;
use vars qw(@ISA);
@ISA = qw(Prima::ImageViewer);
sub invalidate_rect
{
my ( $self, @r) = @_;
my $w = $self-> owner;
$w-> ivm_repaint( $self) if $w-> {magnify};
$self-> SUPER::invalidate_rect( @r);
}
sub end_paint
{
my $self = $_[0];
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PM/Website/Command.pm view on Meta::CPAN
[ 'dry-run|n!' => "take no action" ],
[ 'verbose|v+' => "increase verbosity" ],
);
}
sub validate_args
{
my ( $self, $opt, $args ) = @_;
die $self->_usage_text if $opt->{help};
$self->validate_config( $opt, $args );
$self->validate( $opt, $args );
}
sub validate_required_dir
{
my ($self, $opt, $dir) = @_;
my $c = $self->{config}{config}{website};
$opt->{$dir} ||= $c->{$dir};
die $self->usage_error("$dir is required")
lib/App/PM/Website/Command.pm view on Meta::CPAN
"$dir does not exist: $opt->{$dir}")
if !-d $opt->{$dir};
return 1
}
sub validate_or_create_dir
{
my ($self, $opt, $dir) = @_;
my $c = $self->{config}{config}{website};
$opt->{$dir} ||= $c->{$dir};
lib/App/PM/Website/Command.pm view on Meta::CPAN
return 1
}
sub validate_config
{
my ( $self, $opt, $args ) = @_;
$self->{config} = Config::YAML->new( config => $opt->{config_file} )
or die $self->usage_error("failed to open configuration file: $!");
}
view all matches for this distribution
view release on metacpan or search on metacpan
script/elide-pod view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
format (see --format)
lines (see --lines)
view all matches for this distribution
view release on metacpan or search on metacpan
script/calc-net-income-from-pph21-op view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
format (see --format)
monthly (see --monthly)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PTP/Args.pm view on Meta::CPAN
sub is_int {
my ($str) = @_;
return looks_like_number($str) && int($str) == $str;
}
sub validate_cut_spec {
my ($spec) = @_;
my @fields = split /\s*,\s*/, $spec;
for my $f (@fields) {
die "Fields passed to --cut must all be integers: $f\n" unless is_int($f);
$f-- if $f > 0;
lib/App/PTP/Args.pm view on Meta::CPAN
sub { push @{$cur_pipeline}, ['clear-markers', \&do_set_markers, {%modes}, 0] },
'set-all-markers' => sub {
push @{$cur_pipeline}, ['set-all-markers', \&do_set_markers, {%modes}, 1];
},
'cut=s' => sub {
push @{$cur_pipeline}, ['cut', \&do_cut, {%modes}, validate_cut_spec($_[1])];
},
'paste=s' => sub { push @{$cur_pipeline}, ['paste', \&do_paste, {%modes}, $_[1]] },
'pivot' => sub { push @{$cur_pipeline}, ['pivot', \&do_pivot, {%modes}, 'pivot'] },
'anti-pivot' => sub {
push @{$cur_pipeline}, ['anti-pivot', \&do_pivot, {%modes}, 'anti-pivot'];
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Padadoy.pm view on Meta::CPAN
$self->{remote} = $yaml->{remote};
# config file
$self->{config} = $config;
# TODO: validate config values
fail "Invalid remote value: ".$self->{remote}
if $self->{remote} and $self->{remote} !~ qr{^[^@]+@[^:]+:[~/].*$};
$self;
view all matches for this distribution
view release on metacpan or search on metacpan
script/parse-cpan-changes view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
class (see --class)
file (see --file)
view all matches for this distribution
view release on metacpan or search on metacpan
script/parse-hosts view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
filename (see --filename)
format (see --format)
view all matches for this distribution
view release on metacpan or search on metacpan
script/parse-search-string-from-url view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
detail (see --detail)
format (see --format)
view all matches for this distribution
view release on metacpan or search on metacpan
script/parse-services view on Meta::CPAN
You can also put configuration for multiple programs inside a single file, and use filter C<program=NAME> in section names, e.g. C<[program=NAME ...]> or C<[SOMESECTION program=NAME]>. The section will then only be used when the reading program match...
You can also filter a section by environment variable using the filter C<env=CONDITION> in section names. For example if you only want a section to be read if a certain environment variable is true: C<[env=SOMEVAR ...]> or C<[SOMESECTION env=SOMEVAR ...
To load and configure plugins, you can use either the C<-plugins> parameter (e.g. C<< -plugins=DumpArgs >> or C<< -plugins=DumpArgs@before_validate_args >>), or use the C<[plugin=NAME ...]> sections, for example:
[plugin=DumpArgs]
-event=before_validate_args
-prio=99
[plugin=Foo]
-event=after_validate_args
arg1=val1
arg2=val2
which is equivalent to setting C<< -plugins=-DumpArgs@before_validate_args@99,-Foo@after_validate_args,arg1,val1,arg2,val2 >>.
List of available configuration parameters:
filename (see --filename)
format (see --format)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PericmdUtils.pm view on Meta::CPAN
{
name => "Debug::DumpArgs",
summary => "Dump command-line arguments (\$r->{args}), by default after argument validation",
tags => "category:debugging",
conf => "",
hooks => "after_validate_args",
dist => "Perinci-CmdLine-Lite",
},
{
name => "Debug::DumpR",
summary => "Dump request stash (\$r), by default after action",
view all matches for this distribution
view release on metacpan or search on metacpan
script/normalize-rinci-function-metadata view on Meta::CPAN
{
"args" => { a => { schema => ["int", {}, {}] } }, # {0}
"args_as" => "hash", # {1}
"v" => 1.1, # {2}
"x.perinci.sub.wrapper.logs" => [
{ normalize_schema => "1", validate_args => 1, validate_result => 1 }, # .[0]
], # {3}
}
=head1 DESCRIPTION
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Inline.pm view on Meta::CPAN
) {
eval "require $o->{INLINE}{ILSM_module}";
croak M05_error_eval('glue', $@) if $@;
$o->push_overrides;
bless $o, $o->{INLINE}{ILSM_module};
$o->validate(@config);
}
else {
$o->{CONFIG} = {(%{$o->{CONFIG}}, @config)};
}
$o->print_info if $o->{CONFIG}{PRINT_INFO};
inc/Inline.pm view on Meta::CPAN
) {
eval "require $o->{INLINE}{ILSM_module}";
croak M05_error_eval('glue', $@) if $@;
$o->push_overrides;
bless $o, $o->{INLINE}{ILSM_module};
$o->validate(@config);
}
$o->load;
$o->pop_overrides;
}
inc/Inline.pm view on Meta::CPAN
}
sub M31_inline_open_failed {
my ($file) = @_;
return <<END;
Can't open Inline validate file:
$file
$!
view all matches for this distribution
view release on metacpan or search on metacpan
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PhotoDB/funcs.pm view on Meta::CPAN
use Term::ReadLine::Perl;
use File::Basename;
use Time::Piece;
use Text::TabularDisplay;
our @EXPORT_OK = qw(prompt db updaterecord deleterecord newrecord notimplemented nocommand nosubcommand listchoices lookupval lookuplist today validate ini printlist round pad lookupcol thin resolvenegid chooseneg annotatefilm keyword parselensmodel ...
=head2 prompt
Prompt the user for an arbitrary value. Has various options for data validation and customisation of the prompt.
If the provided input fails validation, or if a blank string is given when required=1 then the prompt is repeated.
lib/App/PhotoDB/funcs.pm view on Meta::CPAN
my $input = $term->readline($msg);
# Use default value if user gave blank input
$rv = ($input eq "") ? $default:$input;
# Prompt again if the input doesn't pass validation, or if it's a required field that was blank
} while (!&validate({val => $rv, type => $type}) || ($rv eq '' && $required == 1));
# Rewrite friendly bools and then return the value
if ($type eq 'boolean') {
return friendlybool($rv);
} else {
lib/App/PhotoDB/funcs.pm view on Meta::CPAN
$term->MinLine(7);
return $term;
}
=head2 validate
Validate that a value is a certain data type
=head4 Usage
my $result = &validate({val => 'hello', type => 'text'});
=head4 Arguments
=item * C<$val> The value to be validated
=item * C<$type> Data type to validate as, out of C<text>, C<integer>, C<boolean>, C<date>, C<decimal>, C<time>. Defaults to C<text>.
=head4 Returns
Returns C<1> if the value passes validation as the requested type, and C<0> if it doesn't.
=cut
sub validate {
# Pass in a hashref of arguments
my $href = shift;
# Unpack the hashref and set default values
my $val = $href->{val}; # The value to be validated
my $type = $href->{type} || 'text'; # Data type to validate as, out of text, integer, boolean, date, decimal, time
die "Must provide value for \$val\n" if !defined($val);
# Empty string always passes validation
if ($val eq '') {
view all matches for this distribution