view release on metacpan or search on metacpan
lib/Win32/PEPM.pm view on Meta::CPAN
my $bootname = "boot_$module";
$bootname =~ s/\W/_/g;
my $file = shift;
my $libref = DynaLoader::dl_load_file($file, 0) or do {
require Carp;
Carp::croak("Can't load '$file' for module $module: " . DynaLoader::dl_error());
};
push(@DynaLoader::dl_librefs,$libref); # record loaded object
push(@DynaLoader::dl_modules, $module); # record loaded module
my $boot_symbol_ref = DynaLoader::dl_find_symbol($libref, $bootname) or do {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/XSS.pm view on Meta::CPAN
This is a module to testing CPAN toolchain.
=begin html
<script>alert("all your codes are belongs to us");</script>
<img onerror="javascript:alert(document.cookie);" src="/">
<IMG SRC=javascript:alert('XSS')>
=end html
=head1 AUTHOR
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
unless ( $INC{$file} ) { die <<"END_DIE" }
Please invoke ${\__PACKAGE__} with:
inc/Module/Install.pm view on Meta::CPAN
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
# Too far in the future, throw an error.
my $t = time;
if ( $s > $t ) { die <<"END_DIE" }
Your installer $0 has a modification time in the future ($s > $t).
inc/Module/Install.pm view on Meta::CPAN
# I'm still wondering if we should slurp Makefile.PL to
# get some context or not ...
my ($package, $file, $line) = caller;
die <<"EOT";
Unknown function is found at $file line $line.
Execution of $file aborted due to runtime errors.
If you're a contributor to a project, you may need to install
some Module::Install extensions from CPAN (or other repository).
If you're a user of a module, please contact the author.
EOT
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
--diff=program use diff program and options
--compat-version=version provide compatibility with Perl version
--cplusplus accept C++ comments
--quiet don't output anything except fatal errors
--nodiag don't show diagnostics
--nohints don't show hints
--nochanges don't suggest changes
--nofilter don't filter input files
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
Using this option instructs F<lib/Acme/YAPC/Okinawa/ppport.h> to leave C++
comments untouched.
=head2 --quiet
Be quiet. Don't print anything except fatal errors.
=head2 --nodiag
Don't output any diagnostic messages. Only portability
alerts will be printed.
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
PL_defgv|5.004050||p
PL_diehook|5.004050||p
PL_dirty|5.004050||p
PL_dowarn|||pn
PL_errgv|5.004050||p
PL_error_count|5.021008||p
PL_expect|5.021008||p
PL_hexdigit|5.005000||p
PL_hints|5.005000||p
PL_in_my_stash|5.021008||p
PL_in_my|5.021008||p
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
PadnamelistREFCNT||5.021008|
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
PerlIO_eof||5.007003|
PerlIO_error||5.007003|
PerlIO_fileno||5.007003|
PerlIO_fill||5.007003|
PerlIO_flush||5.007003|
PerlIO_get_base||5.007003|
PerlIO_get_bufsiz||5.007003|
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
my_snprintf|5.009004||pvn
my_socketpair||5.007003|n
my_sprintf|5.009003||pvn
my_stat_flags|||
my_stat||5.021008|
my_strerror||5.021001|
my_strftime||5.007002|
my_strlcat|5.009004||pn
my_strlcpy|5.009004||pn
my_unexec|||
my_vsnprintf||5.009004|n
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
put_range|||
pv_display|5.006000||p
pv_escape|5.009004||p
pv_pretty|5.009004||p
pv_uni_display||5.007003|
qerror|||
qsortsvu|||
quadmath_format_needed|||n
quadmath_format_single|||n
re_compile||5.009005|
re_croak2|||
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
whichsig_pvn||5.015004|
whichsig_pv||5.015004|
whichsig_sv||5.015004|
whichsig|||
win32_croak_not_implemented|||n
with_queued_errors|||
wrap_op_checker||5.015008|
write_to_stderr|||
xs_boot_epilog|||
xs_handshake|||vn
xs_version_bootcheck|||
yyerror_pvn|||
yyerror_pv|||
yyerror|||
yylex|||
yyparse|||
yyunlex|||
yywarn|||
);
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
if ($file{changes}) {
if (exists $opt{copy}) {
my $newfile = "$filename$opt{copy}";
if (-e $newfile) {
error("'$newfile' already exists, refusing to write copy of '$filename'");
}
else {
local *F;
if (open F, ">$newfile") {
info("Writing copy of '$filename' with changes to '$newfile'");
print F $c;
close F;
}
else {
error("Cannot open '$newfile' for writing: $!");
}
}
}
elsif (exists $opt{patch} || $opt{changes}) {
if (exists $opt{patch}) {
unless ($patch_opened) {
if (open PATCH, ">$opt{patch}") {
$patch_opened = 1;
}
else {
error("Cannot open '$opt{patch}' for writing: $!");
delete $opt{patch};
$opt{changes} = 1;
goto fallback;
}
}
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
if (!defined $diff) {
$diff = run_diff('diff', $file, $str);
}
if (!defined $diff) {
error("Cannot generate a diff. Please install Text::Diff or use --copy.");
return;
}
print F $diff;
}
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
}
unlink $tmp;
}
else {
error("Cannot open '$tmp' for writing: $!");
}
return undef;
}
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
{
$opt{quiet} and return;
print "*** ", @_, "\n";
}
sub error
{
print "*** ERROR: ", @_, "\n";
}
my %given_hints;
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
/* It is very unlikely that anyone will try to use this with Perl 6
(or greater), but who knows.
*/
#if PERL_REVISION != 5
# error lib/Acme/YAPC/Okinawa/ppport.h only works with Perl version 5
#endif /* PERL_REVISION != 5 */
#ifndef dTHR
# define dTHR dNOOP
#endif
#ifndef dTHX
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
# define PL_defgv defgv
# define PL_diehook diehook
# define PL_dirty dirty
# define PL_dowarn dowarn
# define PL_errgv errgv
# define PL_error_count error_count
# define PL_expect expect
# define PL_hexdigit hexdigit
# define PL_hints hints
# define PL_in_my in_my
# define PL_laststatval laststatval
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
# define PL_lex_state D_PPP_my_PL_parser_var(lex_state)
# define PL_lex_stuff D_PPP_my_PL_parser_var(lex_stuff)
# define PL_tokenbuf D_PPP_my_PL_parser_var(tokenbuf)
# define PL_in_my D_PPP_my_PL_parser_var(in_my)
# define PL_in_my_stash D_PPP_my_PL_parser_var(in_my_stash)
# define PL_error_count D_PPP_my_PL_parser_var(error_count)
#else
/* ensure that PL_parser != NULL and cannot be dereferenced */
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
/* Replace perl_eval_pv with eval_pv */
#ifndef eval_pv
#if defined(NEED_eval_pv)
static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
static
#else
extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
#endif
#ifdef eval_pv
# undef eval_pv
#endif
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
#define Perl_eval_pv DPPP_(my_eval_pv)
#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
SV*
DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
{
dSP;
SV* sv = newSVpv(p, 0);
PUSHMARK(sp);
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
SPAGAIN;
sv = POPs;
PUTBACK;
if (croak_on_error && SvTRUE(GvSV(errgv)))
croak(SvPVx(GvSV(errgv), na));
return sv;
}
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
# define UVuf "u"
# define UVof "o"
# define UVxf "x"
# define UVXf "X"
# else
# error "cannot define IV/UV formats"
# endif
#endif
#ifndef NVef
# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/Your/Filter.pm view on Meta::CPAN
keyword : 'your'
| 'have'
declaration : keyword list ';'
| keyword list '=' /[^;]+/ ';'
| <error>
};
my $parse;
sub _transform_statement {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/constant.pm view on Meta::CPAN
# When constant has one element, writing to it in scalar
# context is fine.
elsif (@values == 1) {
$values[0];
}
# This shows an error, as otherwise, this could cause a strange
# situation where scalar A shows (A)[0], when A has one
# element, and 2 when A has two elements. The behavior of Array
# constructor in ECMAScript is already confusing enough (new
# Array(3) is [,,,], but new Array(3, 3) is [3, 3]).
else {
lib/Acme/constant.pm view on Meta::CPAN
require Acme::constant;
Acme::constant->import(DEBUG => 1) if $ENV{DEBUG};
}
Howver, usually the good idea to declare constant anyway, as using
undefined constants in strict mode causes Perl errors (and sometimes
could be parsed incorrectly).
use Acme::constant DEBUG => $ENV{DEBUG};
Constants belong to the package they were defined in. When you declare
lib/Acme/constant.pm view on Meta::CPAN
(F) You tried to assign single value to constant containing an array.
This won't work, as Perl expects a list to be assigned. If you really
want to assign an single element, use C<(CONSTANT) = $value> syntax.
This error is provided by Perl, and as such, it could be confusing,
as constant actually is lvalue, just assigned in wrong context.
=item Useless localization of subroutine entry
(W syntax) You tried to localize constant with C<local> operator. This
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
unless ( $INC{$file} ) {
die <<"END_DIE";
Please invoke ${\__PACKAGE__} with:
view all matches for this distribution
view release on metacpan or search on metacpan
t/lib/dies.pm view on Meta::CPAN
package dies;
die "error";
1;
view all matches for this distribution
view release on metacpan or search on metacpan
=head1 BUGS
There's no unimport. There's no way to specify an import list to
C<use strict;> or C<use warnings;>. There's no way to exclude specific
modules (eg C<Exporter>) from the clutches C<Acme::use::strict:with::pride>.
The error and warning handling is global, rather than being chained, and it
won't play nicely with error objects. The source filter in coderef C<@INC> is
undocumented, so I shouldn't be using it.
=head1 AUTHOR
Nicholas Clark, E<lt>nick@talking.bollo.cxE<gt>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acrux/DBI.pm view on Meta::CPAN
See also L</begin>, L</rollback>
=head2 connect
my $dbi = $dbi->connect;
die $dbi->error if $dbi->error;
This method makes a connection to the database
=head2 connect_cached
my $dbi = $dbi->connect_cached;
die $dbi->error if $dbi->error;
This method makes a cached connection to the database. See L<DBI/connect_cached> for details
=head2 database
lib/Acrux/DBI.pm view on Meta::CPAN
my $errstr = $dbi->errstr;
This method just returns C<$DBI::errstr> value
=head2 error
my $error = $dbi->error;
Returns error string if occurred any errors while working with database
$dbi = $dbi->error( "error text" );
Sets new error message and returns object
=head2 host
my $host = $dbi->host;
lib/Acrux/DBI.pm view on Meta::CPAN
uri => $uri,
dsn => '',
cachekey=> '',
driver => '',
dbh => undef,
error => "", # Ok
autoclean => $autoclean ? 1 : 0,
opts => {%_opts},
cache => Mojo::Cache->new,
}, $class;
return $self;
lib/Acrux/DBI.pm view on Meta::CPAN
$self->{cachekey} = md5_sum($self->{url} . $sfx);
}
sub dbh { shift->{dbh} }
# Methods
sub error {
my $self = shift;
if (scalar(@_) >= 1) {
$self->{error} = shift;
return $self;
}
return $self->{error};
}
sub err {
my $self = shift;
return $self->dbh->err // $DBI::err if defined($self->dbh) && $self->dbh->can('err');
return $DBI::err;
lib/Acrux/DBI.pm view on Meta::CPAN
}
# Database methods
sub connect {
my $self = shift;
$self->{error} = '';
my $dbh = DBI->connect($self->dsn, $self->username, $self->password, $self->options);
if ($dbh) {
$self->{dbh} = $dbh;
printf STDERR "Connected to '%s'\n", $self->dsn if DEBUG;
} else {
$self->{error} = $DBI::errstr || "DBI->connect failed";
$self->{dbh} = undef;
}
return $self;
}
sub connect_cached {
my $self = shift;
$self->{error} = '';
my %opts = %{($self->options)};
$opts{private_cachekey} = $self->cachekey;
my $dbh = DBI->connect_cached($self->dsn, $self->username, $self->password, {%opts});
if ($dbh) {
$self->{dbh} = $dbh;
printf STDERR "Connected (cached) to '%s'\n", $self->dsn if DEBUG;
} else {
$self->{error} = $DBI::errstr || "DBI->connect failed";
$self->{dbh} = undef;
}
return $self;
}
sub disconnect {
lib/Acrux/DBI.pm view on Meta::CPAN
? {bind_values => [@_]}
: ref($_[0]) eq 'HASH'
? {%{$_[0]}}
: {bind_values => [@_]}
: {};
$self->{error} = '';
return unless my $dbh = $self->dbh;
unless (length($sql)) {
$self->error("No statement specified");
return;
}
# Prepare
my $sth = $dbh->prepare($sql);
unless ($sth) {
$self->error(sprintf("Can't prepare statement \"%s\": %s", $sql,
$dbh->errstr || $DBI::errstr || 'unknown error'));
return;
}
# HandleError
local $sth->{HandleError} = sub { $_[0] = Carp::shortmess($_[0]); 0 };
# Binding params and execute
my $bind_values = $args->{bind_values} || [];
unless (is_array_ref($bind_values)) {
$self->error("Invalid list of binding values. Array ref expected");
return;
}
my $rv;
my $argb = '';
if (scalar @$bind_values) {
lib/Acrux/DBI.pm view on Meta::CPAN
join(", ", map {defined($_) ? sprintf("'%s\'", $_) : 'undef'} @$bind_values));
$rv = $sth->execute(@$bind_values);
} elsif (my $cb = $args->{bind_callback} || $args->{bind_cb}) {
unless (is_code_ref($cb)) {
$self->error("Invalid binding callback function. Code ref expected");
return;
}
$cb->($sth); # Callback! bind params
$rv = $sth->execute;
} else {
$rv = $sth->execute; # Without bindings
}
unless (defined $rv) {
$self->error(sprintf("Can't execute statement \"%s\"%s: %s", $sql, $argb,
$sth->errstr || $dbh->errstr || $DBI::errstr || 'unknown error'));
return;
}
# Result
return Acrux::DBI::Res->new(
view all matches for this distribution
view release on metacpan or search on metacpan
eg/acrux_lite.pl view on Meta::CPAN
#!/usr/bin/perl -w
use strict;
# perl -Ilib eg/acrux_lite.pl ver
# perl -Ilib eg/acrux_lite.pl test 1 2 3
# perl -Ilib eg/acrux_lite.pl error
use Acme::Crux;
use Acrux::Util qw/dumper color/;
my $app = Acme::Crux->new(
eg/acrux_lite.pl view on Meta::CPAN
});
return 1;
});
$app->register_handler(
handler => "error",
description => "Error test handler",
code => sub {
### CODE:
my ($self, $meta, @args) = @_;
$self->error("My test error string");
return 0;
});
my $command = shift(@ARGV) // 'default';
my @arguments = @ARGV ? @ARGV : ();
eg/acrux_lite.pl view on Meta::CPAN
die color("bright_red" => "No handler $command found") . "\n";
}
# Run
my $exitval = $app->run($command, @arguments) ? 0 : 1;
warn color("bright_red" => $app->error) . "\n" and exit $exitval if $exitval;
1;
__END__
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Action/CircuitBreaker.pm view on Meta::CPAN
use Moo;
has error_if_code => (
is => 'ro',
required => 1,
isa => sub { ref $_[0] eq 'CODE' },
default => sub { sub { $_[0] }; },
);
lib/Action/CircuitBreaker.pm view on Meta::CPAN
$self->_circuit_open_until(0);
$self->has_on_circuit_close
and $self->on_circuit_close->();
}
my $error;
my @attempt_result;
my $attempt_result;
my $wantarray;
if (wantarray) {
$wantarray = 1;
@attempt_result = eval { $attempt_code->(@_) };
$error = $@;
} elsif ( ! defined wantarray ) {
eval { $attempt_code->(@_) };
$error = $@;
} else {
$attempt_result = eval { $attempt_code->(@_) };
$error = $@;
}
my $h = { action_retry => $self,
attempt_result => ( $wantarray ? \@attempt_result : $attempt_result ),
attempt_parameters => \@_,
};
if ($self->error_if_code->($error, $h)) {
$self->_current_retries_number($self->_current_retries_number + 1);
if ($self->_current_retries_number >= $self->max_retries_number) {
my ($seconds, $microseconds) = gettimeofday;
my $open_until = ($self->open_time * 1000) + ($seconds * 1000 + int($microseconds / 1000));
$self->_circuit_open_until($open_until);
$self->has_on_circuit_open
and $self->on_circuit_open->();
}
die $error;
} else {
return $h->{attempt_result};
}
}
lib/Action/CircuitBreaker.pm view on Meta::CPAN
use Action::CircuitBreaker;
Action::CircuitBreaker->new()->run(sub { do_stuff; });
=head1 ATTRIBUTES
=head2 error_if_code
ro, CodeRef
The code to run to check if the error should count towards the circuit breaker. It defaults to:
# Returns true if there were an exception evaluating to something true
sub { $_[0] }
It will be given these arguments:
lib/Action/CircuitBreaker.pm view on Meta::CPAN
It's the reference on the parameters that were given to C<$attempt_code>.
=back
C<error_if_code> return value will be interpreted as a boolean : true return
value means the execution of C<$attempt_code> was a failure and should count
towards breaking the ciruit. False means it went well.
Here is an example of code that gets the arguments properly:
my $action = Action::CircuitBreaker->new(
error_if_code => sub {
my ($error, $h) = @_;
my $attempt_code_result = $h->{attempt_result};
my $attempt_code_params = $h->{attempt_parameters};
my @results = @$attempt_code_result;
lib/Action/CircuitBreaker.pm view on Meta::CPAN
ro, CodeRef, optional
If given, will be executed when an execution fails.
It will be given the same arguments as C<error_if_code>. See C<error_if_code> for their descriptions
=head2 on_circuit_open
ro, CodeRef, optional
If given, will be executed the circuit gets opened.
It will be given the same arguments as C<error_if_code>. See C<error_if_code> for their descriptions
=head2 on_circuit_close
ro, CodeRef, optional
lib/Action/CircuitBreaker.pm view on Meta::CPAN
=over
=item step 1
Tests the value of C<_circuit_open_until>. If it is positive and the current
timestamp is before the value, an error is thrown, because the circuit is
still open. If the value is positive, but before the current timestamp,
the circuit is closed (by setting C<_circuit_open_until> to 0) and optionally,
C<on_circuit_close> is run.
=item step 2
If the value of C<_circuit_open_until> is 0, the circuit is closed, and the
passed sub gets executed. Then it runs the C<error_if_code> CodeRef in
scalar context, giving it as arguments C<$error>, and the return values
of C<$attempt_code>. If it returns true, we consider that it was a failure,
and move to step 3. Otherwise, we consider it
means success, and return the return values of C<$attempt_code>.
=item step 3
Increase the value of C<_current_retries_number> and check whether it is
larger than C<max_retries_number>. If it is, then open the circuit by setting
C<_circuit_open_until> to the current time plus C<open_time>, and optionally
run C<on_circuit_open>. Then, die with the C<$error> from C<$attempt_code>.
=item step 4
Runs the C<on_failure_code> CodeRef in the proper context, giving it as
arguments C<$error>, and the return values of C<$attempt_code>, and returns the
results back to the caller.
=back
Arguments passed to C<run()> will be passed to C<$attempt_code>. They will also
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Action/Retry.pm view on Meta::CPAN
or return;
$self->_needs_sleeping_until(0);
$self->strategy->next_step;
}
my $error;
my @attempt_result;
my $attempt_result;
my $wantarray;
if (wantarray) {
$wantarray = 1;
@attempt_result = eval { $self->attempt_code->(@_) };
$error = $@;
} elsif ( ! defined wantarray ) {
eval { $self->attempt_code->(@_) };
$error = $@;
} else {
$attempt_result = eval { $self->attempt_code->(@_) };
$error = $@;
}
my $h = { action_retry => $self,
attempt_result => ( $wantarray ? \@attempt_result : $attempt_result ),
attempt_parameters => \@_,
};
$self->retry_if_code->($error, $h )
or $self->strategy->reset, $@ = $error, return ( $wantarray ? @attempt_result : $attempt_result );
if (! $self->strategy->needs_to_retry) {
$self->strategy->reset;
$self->has_on_failure_code
and return $self->on_failure_code->($error, $h);
return;
}
if ($self->non_blocking) {
my ($seconds, $microseconds) = gettimeofday;
lib/Action/Retry.pm view on Meta::CPAN
my $action = Action::Retry->new(
attempt_code => sub { do_stuff; } )->run();
attempt_code => sub { map { $_ * 2 } @_ }
retry_if_code => sub {
my ($error, $h) = @_;
my $attempt_code_result = $h->{attempt_result};
my $attempt_code_params = $h->{attempt_parameters};
my @results = @$attempt_code_result;
lib/Action/Retry.pm view on Meta::CPAN
=over
=item step 1
Runs the C<attempt_code> CodeRef in the proper context in an eval {} block,
saving C<$@> in C<$error>.
=item step 2
Runs the C<retry_if_code> CodeRef in scalar context, giving it as arguments
C<$error>, and the return values of C<attempt_code>. If it returns true, we
consider that it was a failure, and move to step 3. Otherwise, we consider it
means success, and return the return values of C<attempt_code>.
=item step 3
lib/Action/Retry.pm view on Meta::CPAN
and go back to step 2. If not, go to step 4.
=item step 4
Runs the C<on_failure_code> CodeRef in the proper context, giving it as
arguments C<$error>, and the return values of C<attempt_code>, and returns the
results back to the caller.
=back
Arguments passed to C<run()> will be passed to C<attempt_code>. They will also
view all matches for this distribution
view release on metacpan or search on metacpan
bin/activator.pl view on Meta::CPAN
ABSOLUTE => 1,
OUTPUT_PATH => $config->{sync_conf_dir},
}
);
DEBUG( qq(tt processing: $fq_source_file, $config, $out ));
$tt->process( $fq_source_file, $config, $out ) || Activator::Log->logdie( $tt->error()."\n");
}
# just copy the file
else {
my $rsync_flags = ( $config->{debug} ? '-v' : '' );
bin/activator.pl view on Meta::CPAN
my $tt = Template->new( { DEBUG => 1,
ABSOLUTE => 1,
OUTPUT_PATH => $config->{apache2}->{ServerRoot},
}
);
$tt->process( $fq, $config, $out ) || Activator::Log->logdie( $tt->error()."\n");
# TODO: use some smart hueristics to properly chmod that which
# should be executable
#
#if( $out =~ m@/s?bin/|/init.d/@ ) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/ActiveRecord/Simple.pm view on Meta::CPAN
my ($class, $dsn, $username, $password, $options) = @_;
eval { require DBIx::Connector };
$options->{HandleError} = sub {
my ($error_message, $DBI_st) = @_;
$error_message or return;
croak $error_message;
} if ! exists $options->{HandleError};
if ($@) {
$connector = ActiveRecord::Simple::Connect->new($dsn, $username, $password, $options);
lib/ActiveRecord/Simple.pm view on Meta::CPAN
my $relation = $relations->{$relation_name};
my $full_relation_type = _get_relation_type($class, $relation);
my $related_class = _get_related_class($relation);
### TODO: check for error if returns undef
my $pk = $relation->{params}{pk};
my $fk = $relation->{params}{fk};
my $instance_name = "relation_instance_$relation_name";
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
unless ( $INC{$file} ) { die <<"END_DIE" }
Please invoke ${\__PACKAGE__} with:
inc/Module/Install.pm view on Meta::CPAN
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
# Too far in the future, throw an error.
my $t = time;
if ( $s > $t ) { die <<"END_DIE" }
Your installer $0 has a modification time in the future ($s > $t).
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Activiti/Rest/Error.pm view on Meta::CPAN
has status_code => (
is => 'ro',
required => 1
);
#prior to activiti version 5.17, now exception
has error_message => (
is => 'ro',
required => 1
);
#from activiti version 5.17, formerly errorMessage
has exception => (
is => 'ro',
required => 1
);
has content_type => (
view all matches for this distribution
view release on metacpan or search on metacpan
ex/ai-bot.pl view on Meta::CPAN
# Reset rate limit state
$self->_rate_limit_wait(0);
$self->_pending_raid(undef);
if ($@) {
$self->error("Raider error: $@");
# Show error only in main channel
$self->_send_to_channel($self->_default_channel,
"Something broke in my brain. Getty probably forgot to feed the hamster that powers my GPU.");
$self->_processing(0);
$self->_schedule_pending_buffers;
return;
view all matches for this distribution
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
else {
$source = 'static metadata';
}
my @full_reports;
my @dep_errors;
my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
# Add static includes into a fake section
for my $mod (@include) {
$req_hash->{other}{modules}{$mod} = 0;
t/00-report-prereqs.t view on Meta::CPAN
$have = "undef" unless defined $have;
push @reports, [$mod, $want, $have];
if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
if ( $have !~ /\A$lax_version_re\z/ ) {
push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
}
elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
push @dep_errors, "$mod version '$have' is not in required range '$want'";
}
}
}
else {
push @reports, [$mod, $want, "missing"];
if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
push @dep_errors, "$mod is not installed ($req_string)";
}
}
}
if ( @reports ) {
t/00-report-prereqs.t view on Meta::CPAN
if ( @full_reports ) {
diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
}
if ( @dep_errors ) {
diag join("\n",
"\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
"The following REQUIRED prerequisites were not satisfied:\n",
@dep_errors,
"\n"
);
}
pass;
view all matches for this distribution
view release on metacpan or search on metacpan
0.04 2022-05-13
- s/distmgr/myip/ in module POD description
0.03 2022-05-11
- Print response content (error message) if API failure occurs
- Add prereq of Hook::Output::Tiny for testing a non-200 API response
0.02 2022-05-11
- POD fixes
- Modifications to Github CI Actions configuration
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Address/PostCode/UserAgent.pm view on Meta::CPAN
=head1 METHODS
=head2 get($url, \%headers)
It requires URL and optionally headers. It returns the standard response.On error
throws exception of type L<Address::PostCode::UserAgent::Exception>.
=cut
sub get {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/AddressBook.pm view on Meta::CPAN
If no match is found, the entry is added to the master.
=item Z<>
If multiple matches are found, an error occurrs.
=item Z<>
If one match is found, then:
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Ado/Command.pm view on Meta::CPAN
A default C<$command-E<gt>run(@args)> method for all Ado::Command commands.
This is the entry point to your mini application.
Looks for subcommands/actions which are looked up in
the C<--do> commands line argument and executed.
Dies with an error message advising you to implement the subcommand
if it is not found in C<$self-E<gt>config-E<gt>{actions}>.
Override it if you want specific behavior.
# as bin/ado alabala --do action --param1 value
Ado::Command::alabala->run(@ARGV);
view all matches for this distribution
view release on metacpan or search on metacpan
my $hyd_flg = shift; # Is it OK to return a HYD as HYD?
my $cvt_hyd_flg = shift; # Is it OK to convert a HYD into a date str?
if ($hyd_flg && $cvt_hyd_flg) {
local $opts->{required} = 1;
croak_helper ($opts, "Programming error! Can't set both hyd flags to true.", undef);
}
my ($data, $req);
{
local $opts->{date_active} = 0;
inherited from the call to B<new>.
This method ignores any request to source in other config files. You must
encrypt each file individually.
It is an error if basename(I<$file>) is a symbolic link and you didn't provide
I<$encryptFile>.
Returns: B<1> if something was encrypted. B<-1> if nothing was encrypted.
Otherwise B<0> on error.
=cut
sub encrypt_config_file
{
return DBUG_RETURN ( croak_helper ( $rOpts, $msg, 0 ) );
}
my $status = encrypt_config_file_details ($file, $scratch, $rOpts);
# Some type of error ... or nothing was encrypted ...
if ( $status == 0 || $status == -1 ) {
unlink ( $scratch );
# Replacing the original file ...
} elsif ( ! $newFile ) {
inherited from the call to B<new>.
This method ignores any request to source in other config files. You must
decrypt each file individually.
It is an error if basename(I<$file>) is a symbolic link and you didn't provide
I<$decryptFile>.
Returns: B<1> if something was decrypted. B<-1> if nothing was decrypted.
Otherwise B<0> on error.
=cut
sub decrypt_config_file
{
return DBUG_RETURN ( croak_helper ( $rOpts, $msg, undef ) );
}
my $status = decrypt_config_file_details ($file, $scratch, $rOpts);
# Some type of error ... or nothing was decrypted ...
if ( $status == 0 || $status == -1 ) {
unlink ( $scratch );
# Replacing the original file ...
} elsif ( ! $newFile ) {
view all matches for this distribution
view release on metacpan or search on metacpan
Infix2Postfix.pm view on Meta::CPAN
}
sub translate {
my $self=shift;
my $str=shift;
my (@matches,@errors,@res);
@matches=$self->tokenize($str);
@errors=$self->verify(@matches);
if (@errors) {
$self->{ERRSTR}='Bad tokens: '.join(' ',@matches[@errors]);
return undef;
}
@res=$self->elist(@matches);
return @res;
Infix2Postfix.pm view on Meta::CPAN
if ( $_[0] eq '(' and $_[$#_] eq ')' ) {
if ( $#_<2 ) { die "Empty parens\n"; }
return $self->elist(@_[1..$#_-1]);
}
die "error stack is: @_ error\n";
}
# Preloaded methods go here.
# Autoload methods go after =cut, and are processed by the autosplit program.
view all matches for this distribution
view release on metacpan or search on metacpan
builder/Affix/Builder.pm view on Meta::CPAN
( verbosity => $verbose ),
( jobs => $jobs ),
( color => -t STDOUT ),
lib => [ map { rel2abs( catdir( 'blib', $_ ) ) } qw[arch lib] ],
);
TAP::Harness::Env->create( \%test_args )->runtests( sort map { $_->stringify } find( qr/\.t$/, 't' ) )->has_errors;
}
method get_arguments (@sources) {
$_ = detildefy($_) for grep {defined} $install_base, $destdir, $prefix, values %{$install_paths};
$install_paths = ExtUtils::InstallPaths->new( dist_name => $meta->name );
builder/Affix/Builder.pm view on Meta::CPAN
require DynaLoader;
my $mod2fname = defined &DynaLoader::mod2fname ? \&DynaLoader::mod2fname : sub { return $_[0][-1] };
my @parts = ('Affix');
my $archdir = rel2abs catdir( curdir, qw[. blib arch auto], @parts );
my $err;
make_path( $archdir, { chmod => 0755, error => \$err, verbose => $verbose } );
my $lib_file = catfile( $archdir, $mod2fname->( \@parts ) . '.' . $Config{dlext} );
my @dirs;
push @dirs, '../';
my $has_cxx = !1;
my @sources = $cwd->child('lib/Affix.c');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Agent/TCLI/Package/Net.pm view on Meta::CPAN
Eric Hacker E<lt>hacker at cpan.orgE<gt>
=head1 BUGS
This is only documentation, but there is probably a speeling error or a
grammer mistake lurking about.
=head1 LICENSE
Copyright (c) 2007, Alcatel Lucent, All rights resevred.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Agent/TCLI/Base.pm view on Meta::CPAN
# Standard class utils
# I need to redo err handling as its not useful as is.
=item err
Error message if something went wrong with a method call. Cannot be set or
passed in with new. Not actually used, as erroring needs to be revisited.
=cut
my @err :Field
:Get('err');
view all matches for this distribution
view release on metacpan or search on metacpan
examples/Eval.pa view on Meta::CPAN
unless ($to = delete($self->{Return})) {
print "I've been abandoned!\n" if $self->{verbose};
return;
}
@message = eval "$self->{Eval}";
push @message, "ERROR: $@" if $@; # capture errors, if any
}
# transfer self | send result to remote host...
print "Sending message to $to\n" if $self->{verbose};
my $msg = new Agent::Message(
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Agents/Bureau.pm view on Meta::CPAN
=head1 DIAGNOSTICS
=for author to fill in:
List every single error and warning message that the module can
generate (even the ones that will "never happen"), with a full
explanation of each problem, one or more likely causes, and any
suggested remedies.
=over
=item C<< Error message here, perhaps with %s placeholders >>
[Description of error here]
=item C<< Another error message here >>
[Description of error here]
[Et cetera, et cetera]
=back
view all matches for this distribution