view release on metacpan or search on metacpan
script/pick view on Meta::CPAN
### begin code_after_shebang
# Note: This script is a CLI for Riap function /App/PickRandomLines/pick_random_lines
# and generated automatically using Perinci::CmdLine::Gen version 0.502
### end code_after_shebang
# PERICMD_INLINE_SCRIPT: {"code_after_shebang":"...","config_dirs":null,"config_filename":"pick.conf","env_name":"PICK_OPT","include":null,"log":null,"pack_deps":1,"pod":0,"read_config":1,"read_env":1,"script_name":"pick","script_summary":"Pick one o...
# This script is generated by Perinci::CmdLine::Inline version 0.554 on Mon Nov 20 12:11:15 2023.
# Rinci metadata taken from these modules: App::PickRandomLines (no version)
script/pick 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:
algorithm (see --algorithm)
files (see --file)
script/pick view on Meta::CPAN
#
# my %existing_methods;
# @existing_methods{keys %{ $me->_all_subs($to) }} = ();
#
# # _concrete_methods_of caches its result on roles. that cache needs to be
# # invalidated after applying roles
# delete $INFO{$to}{methods} if $INFO{$to};
#
# foreach my $i (keys %$methods) {
# next
# if exists $existing_methods{$i};
script/pick view on Meta::CPAN
# # Data::Sah can also create validator that returns nice error message string
# # and/or coerced value. Data::Sah can even create validator that targets other
# # language, like JavaScript. All from the same schema. See its documentation
# # for more details.
#
#To validate function parameters against this schema (requires L<Params::Sah>):
#
# use Params::Sah qw(gen_validator);
#
# sub myfunc {
# my @args = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
- Exit after --version
- Only daemonize after we've done more sanity checks
0.11 Sat Jul 24 21:11:25 GMT 2010
- Shut down disconnected IRC components properly
- Rename "-c" option to "-f" and make "-c" validate the config file
0.10 Mon Jun 28 21:39:05 GMT 2010
- Print compilation errors if we fail to load a plugin
0.09 Mon Jun 28 21:24:31 GMT 2010
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Prove/Dist.pm view on Meta::CPAN
}
# Hack to suppress extra options I don't care about.
around usage=>sub{$a=$_[1]->{usage}{options};@$a=grep{$_->{name}ne'help'}@$a;$_[0]->($_[1])};
sub validate_args {
my ($self, $opts, $args) = @_;
$self->_opts($opts);
$self->_args($args);
}
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
bin/qmail-dmarc view on Meta::CPAN
spf => {
if_set( domain => $header_from_domain ),
scope => $spf_query{scope},
result => $spf_result->code,
},
)->validate
)->result;
debug 'DMARC result' => $dmarc_text;
$message->add_header("DMARC-Status: $dmarc_text");
if ( $dmarc_result->result ne 'pass' ) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/RL/Command/combine.pm view on Meta::CPAN
MARKDOWN
return $desc;
}
sub validate_args {
my ( $self, $opt, $args ) = @_;
if ( @{$args} != 1 ) {
my $message = "This command need one input file.\n\tIt found";
$message .= sprintf " [%s]", $_ for @{$args};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/RPi/EnvUI/API.pm view on Meta::CPAN
}
my $csh = Crypt::SaltedHash->new(algorithm => 'SHA1');
my $crypted = $self->db->user($user)->{pass};
return $csh->validate($crypted, $pw);
}
sub events {
my $self = shift;
my $log = $log->child('events');
lib/App/RPi/EnvUI/API.pm view on Meta::CPAN
Parameters:
$user
Mandatory, String. The user name to validate the password for.
$pw
Mandatory, String. The plain text password to verify.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Rad.pm view on Meta::CPAN
App::Rad implements some control functions which are expected to be overridden by implementing them in your program. They are as follows:
=head2 setup()
This function is responsible for setting up what your program can and cannot do, plus everything you need to set before actually running any command (connecting to a database or host, check and validate things, download a document, whatever). Note th...
Another interesting thing you can do with setup is to manipulate the command list. For instance, you may want to be able to use the C<include> and C<exclude> commands, but not let them available for all users. So instead of writing:
use App::Rad qw(include exclude);
App::Rad->run();
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Rakubrew.pm view on Meta::CPAN
verify_version($version);
}
}
} elsif ($arg eq 'local') {
validate_brew_mode();
if (!@args) {
my $version = get_local_version();
if ($version) {
say $version;
}
lib/App/Rakubrew.pm view on Meta::CPAN
} elsif ($arg eq 'nuke' || $arg eq 'unregister') {
my $version = shift @args;
$self->nuke($version);
} elsif ($arg eq 'rehash') {
validate_brew_mode();
rehash();
} elsif ($arg eq 'list-available' || $arg eq 'available') {
my ($cur_backend, $cur_rakudo) = split '-', (get_version() // ''), 2;
$cur_backend //= '';
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Rangeops/Command/circos.pm view on Meta::CPAN
$desc .= ucfirst(abstract) . ".\n";
$desc .= "\tIt's assumed that all ranges in input files are valid.\n";
return $desc;
}
sub validate_args {
my ( $self, $opt, $args ) = @_;
if ( !@{$args} ) {
$self->usage_error("This command need one or more input files.");
}
view all matches for this distribution
view release on metacpan or search on metacpan
script/list-rclone-remotes 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)
naked_res (see --naked-res)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Rcsync.pm view on Meta::CPAN
[ "which|w", "print path to profile template" ],
[ "stdout|s", "print to STDOUT" ],
);
}
sub validate_args
{
my ($self, $opt, $args) = @_;
if ( !$opt->{init} and ! -e $opt->{config} )
{
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/RecordStream/Operation/totable.pm view on Meta::CPAN
$value = "";
}
else
{
# This column did not match so we do not clear the cell. We also
# invalidate all "last" field values to the right of this column.
my $startInvalidating = 0;
for(@{$this->{'FIELDS'}})
{
if($_ eq $field)
{
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
script/get-regexp-common-pattern 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)
naked_res (see --naked-res)
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
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/Report/Generator/Command/GenReport.pm view on Meta::CPAN
$VERSION = "0.002";
#sub opt_spec {
#}
#sub validate_args {
#}
my %cmdcfg;
=head2 command_names
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/ReslirpTunnel.pm view on Meta::CPAN
sub _config_net_mappings_net {
my $self = shift;
for my $record (@{$self->{args}{route_nets}}) {
my $addr = $record->{addr};
my $mask = $record->{mask};
if ($self->_validate_ipv4($addr) and $self->_validate_netmask($mask)) {
$self->{forward_ipv4}{"$addr/$mask"} = 1;
}
else {
$self->_warn("Ignoring invalid network", "$addr/$mask");
}
lib/App/ReslirpTunnel.pm view on Meta::CPAN
my $self = shift;
for my $record (@{$self->{args}{route_hosts}}) {
my $addrs = $record->{addrs} // [];
$self->{forward_ipv4}{"$_/32"} = 1 for @$addrs;
if (defined (my $host = $record->{host})) {
if ($self->_validate_domain_name($host)) {
push @{$self->{net_mapping}{$host} //= []}, @$addrs;
}
else {
$self->_warn("Ignoring host with invalid name", $host);
}
lib/App/ReslirpTunnel.pm view on Meta::CPAN
for my $host (@{$self->{args}{route_hosts_local}}) {
my $addr;
if (is_ipv4($host)) {
$self->{forward_ipv4}{"$host/32"} = 1;
}
elsif ($self->_validate_domain_name($host)) {
my $good;
my ($err, @records) = Socket::getaddrinfo($host);
unless ($err) {
for my $record (@records) {
if ($record->{family} == AF_INET) {
lib/App/ReslirpTunnel.pm view on Meta::CPAN
$self->_warn("Ignoring host with invalid name", $host);
}
}
}
sub _validate_ipv4 {
my ($self, $ipv4) = @_;
is_ipv4($ipv4) and return 1;
$self->_log(debug => "Bad IPv4", $ipv4);
return undef;
}
sub _validate_netmask {
my ($self, $mask) = @_;
$mask =~ /\d+/ and $mask >= 1 and $mask <= 32 and return 1;
$self->_log(debug => "Bad netmask", $mask);
return undef;
}
sub _validate_domain_name {
my ($self, $domain) = @_;
is_hostname($domain, {'domain_private_tld' => 1}) and return 1;
$self->_log(debug => "Bad domain", $domain);
return undef;
}
lib/App/ReslirpTunnel.pm view on Meta::CPAN
my $self = shift;
my $route_hosts = $self->{args}{route_hosts_dns};
if (@$route_hosts) {
my $dns = Net::DNS::Resolver->new(nameservers => [$self->{remote_dns}], recurse => 1);
for my $host (@$route_hosts) {
if ($self->_validate_domain_name($host)) {
my $good;
$self->_log(debug => "Resolving $host using remote DNS");
my $query = $dns->query($host, 'A');
if ($query) {
for my $rr ($query->answer) {
lib/App/ReslirpTunnel.pm view on Meta::CPAN
sub _config_net_mappings_ssh {
my $self = shift;
my $route_hosts = $self->{args}{route_hosts_ssh};
for my $host (@$route_hosts) {
if ($self->_validate_domain_name($host)) {
$self->_log(debug => "Resolving $host using remote shell");
my $method = "_resolve_remote_host_with_shell__" . (($self->{remote_os} eq 'windows') ? 'windows' : 'unix');
my @addrs = $self->$method($host);
for my $addr (@addrs) {
push @{$self->{net_mapping}{$host} //= []}, $addr;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/RoboBot/Config.pm view on Meta::CPAN
$self->init_logging;
$logger = $self->bot->logger('core.config');
$self->validate_database;
$logger->debug('Database configuration initialized.');
$self->validate_globals;
$logger->debug('Global settings initialized.');
$self->validate_networks;
$logger->debug('Network configurations initialized.');
$self->validate_plugins;
$logger->debug('Plugin configurations initialized.');
$self->bot->networks([ values %{$self->networks} ]);
} catch {
die "Could not load and validate configuration: $_";
};
$logger->debug('All configuration data loaded.');
}
lib/App/RoboBot/Config.pm view on Meta::CPAN
my $config_str = join("\n", map { sprintf('%s=%s', $_, $log_cfg->{$_}) } sort keys %{$log_cfg});
Log::Log4perl::init( \$config_str );
}
sub validate_globals {
my ($self) = @_;
my $logger = $self->bot->logger('core.config.globals');
my %global = (
lib/App/RoboBot/Config.pm view on Meta::CPAN
config => $self,
name => $self->config->{'global'}{'nick'}
);
}
sub validate_database {
my ($self) = @_;
my $logger = $self->bot->logger('core.config.database');
my %database = (
lib/App/RoboBot/Config.pm view on Meta::CPAN
$self->config->{'database'}{$k} = $database{$k} unless exists $self->config->{'database'}{$k};
}
if (exists $self->config->{'database'}{'primary'} && ref($self->config->{'database'}{'primary'}) eq 'HASH') {
$logger->debug('Establishing database connection using explicit configuration hash.');
$self->db(DBIx::DataStore->new({ config => $self->config->{'database'} })) or die "Could not validate explicit database connection!";
} else {
$logger->debug('Establishing database connection using named DataStore definition.');
$self->db(DBIx::DataStore->new($self->config->{'database'}{'name'})) or die "Could not validate named database connection!";
}
$self->bot->migrate_database;
}
sub validate_networks {
my ($self) = @_;
my $logger = $self->bot->logger('core.config.networks');
my @networks;
lib/App/RoboBot/Config.pm view on Meta::CPAN
$logger->debug('Assigning networks list to bot.');
$self->networks({ map { $_->name => $_ } @networks });
$self->channels(\@channels);
}
sub validate_plugins {
my ($self) = @_;
my $logger = $self->bot->logger('core.config.plugins');
foreach my $plugin_name (keys %{$self->config->{'plugin'}}) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Rssfilter/Cmd/runfromconfig.pm view on Meta::CPAN
[ 'config-file|f:s', 'config file for App::Rssfilter (searches for RssFilter.yaml if not set)', ],
[ 'log|v', 'turn logging on' ],
);
}
method validate_args( $opt, $args ) { }
method find_config( :$file = 'Rssfilter.yaml', :$dir = cwd() ) {
$dir = Path::Class::dir->new( $dir )->absolute;
for( reverse $dir->dir_list ) {
my $filename = $dir->file( $file );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/SD/CLI/Command.pm view on Meta::CPAN
package App::SD::CLI::Command;
use Any::Moose 'Role';
use Params::Validate qw(validate);
=head2 get_content %args
This is a helper routine for use in SD commands to enable getting records
in different ways such as from a file, on the commandline, or from an
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/SFDC/Command/Deploy.pm view on Meta::CPAN
format => 's',
short => 'o',
is => 'ro';
option 'validate',
is => 'ro',
short => 'v',
default => 0;
lib/App/SFDC/Command/Deploy.pm view on Meta::CPAN
$self->_session->Metadata->deployMetadata(
$self->_zipFile,
{
singlePackage => 'true',
($self->rollback ? (rollbackOnError => 'true') : ()),
($self->validate ? (checkOnly => 'true') : ()),
($self->runtests ? (testLevel => 'RunLocalTests') : ()),
}
);
};
lib/App/SFDC/Command/Deploy.pm view on Meta::CPAN
=head2 --testoutput -o
If set, then this file will be populated with JUnit-formatted xml containing
the test results of this deployment.
=head2 --validate -v
If set, set 'isCheckOnly' to true, i.e. perform a validation deployment.
=head2 --zipfile -z
view all matches for this distribution
view release on metacpan or search on metacpan
script/dump-sqlite-counters 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)
naked_res (see --naked-res)
view all matches for this distribution
view release on metacpan or search on metacpan
script/check-sqlite-kvstore-key-exists 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)
key (see --key)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/SSH/Cluster.pm view on Meta::CPAN
lazy => 1,
);
sub run {
my ($self) = @_;
$self->_validate_config;
my $parallel_executor = Net::OpenSSH::Parallel->new;
my $global_identity_file = $self->_config->{identity_file};
my $global_username = $self->_config->{user};
lib/App/SSH/Cluster.pm view on Meta::CPAN
my ($self) = @_;
return YAML::Tiny->read( $self->config_file )->[0];
}
sub _validate_config {
my ($self) = @_;
die "No 'servers' key found in " . $self->config_file
unless exists $self->_config->{servers};
die "Existing 'servers' key found in " . $self->config_file . ", but has no servers listed"
view all matches for this distribution
view release on metacpan or search on metacpan
show-sah-value-rule-modules.
0.482 2022-09-30 Released-By: PERLANCAR; Urgency: medium
- [cli validate-with-sah] Add option --no-coerce.
0.481 2022-09-11 Released-By: PERLANCAR; Urgency: medium
- [cli coerce-with-sah] [bugfix] Fix variable interpolation.
0.474 2020-02-11 Released-By: PERLANCAR; Urgency: medium
- Add utilities: list-sah-filter-rule-modules,
show-sah-filter-rule-module.
- [validate-with-sah][ux] Add -R as shortcut alias for
--show-raw-compile.
0.473 2020-02-10 Released-By: PERLANCAR; Urgency: medium
0.36 2016-07-19 Released-By: PERLANCAR
- Add utility: resolve-sah-schema.
- [ux] validate-with-sah: Add shortcut options --bool, --bool-val,
--str-val, --full.
0.35 2016-07-01 Released-By: PERLANCAR
- validate-with-sah: Add option --schema-module (-m) to use schema
from a Sah::Schema::* module.
0.34 2016-06-16 Released-By: PERLANCAR
- sah-to-human: Add examples.
0.30 2016-05-30 Released-By: PERLANCAR
- [Bugfix] validate-with-sah: setting --compiler/-C to js still set
compiler to perl.
0.29 2016-05-30 Released-By: PERLANCAR
- Add scripts: list-sah-type-modules, list-sah-coerce-rule-modules.
- coerce-with-sah: add short option alias -r for --return-type, like in
validate-with-sah.
0.28 2016-05-25 Released-By: PERLANCAR
- Add scripts: list-sah-schema-modules, show-sah-schema-module.
- Add option: --no-modules.
0.13 2015-05-22 Released-By: PERLANCAR
- validate-with-sah: Add options --core, --core-or-pp.
0.12 2015-05-22 Released-By: PERLANCAR
- [Bugfix] validate-with-sah: Fix Rinci metadata,
data/multiple_data/data_file/multiple_data_file is only required when
action=validate.
0.11 2015-05-06 Released-By: PERLANCAR
- No functional changes.
0.09 2015-05-04 Released-By: PERLANCAR
- Remove --show-human & --show-raw-human options from
validate-with-sah, instead a new utility is added
bin/sah-to-human for this (with more options).
0.08 2015-05-02 Released-By: PERLANCAR
- Add option: --pp.
0.05 2015-04-04 Released-By: PERLANCAR
- validate-with-sah: Add options --data-file, --multiple-data-file,
--data-file-type.
- A couple of bug fixes.
- [Bugfix] Typo.
0.03 2015-04-04 Released-By: PERLANCAR
- validate-with-sah: Add options --show-raw-compile, --with-debug.
0.02 2015-04-03 Released-By: PERLANCAR
- validate-with-sah: Add alias -r for --return-type.
0.01 2015-04-03 Released-By: PERLANCAR
- First release.
view all matches for this distribution