Windows NT KAMIDAKI 10.0 build 19045 (Windows 10) AMD64
Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.3.9
Server IP : 192.168.3.16 & Your IP : 216.73.216.140
Domains :
Cant Read [ /etc/named.conf ]
User : SISTEMA
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
C: /
xampp /
perl /
vendor /
lib /
Template /
Plugin /
Delete
Unzip
Name
Size
Permission
Date
Action
Assert.pm
3.42
KB
-rw-rw-rw-
2020-07-14 01:47
CGI.pm
3.02
KB
-rw-rw-rw-
2020-07-14 01:47
Datafile.pm
4.42
KB
-rw-rw-rw-
2020-07-14 01:47
Date.pm
11.02
KB
-rw-rw-rw-
2020-07-14 01:47
Directory.pm
10.96
KB
-rw-rw-rw-
2020-07-14 01:47
Dumper.pm
3.53
KB
-rw-rw-rw-
2020-07-14 01:47
File.pm
11
KB
-rw-rw-rw-
2020-07-14 01:47
Filter.pm
9.84
KB
-rw-rw-rw-
2020-07-14 01:47
Format.pm
1.79
KB
-rw-rw-rw-
2020-07-14 01:47
HTML.pm
5.89
KB
-rw-rw-rw-
2020-07-14 01:47
Image.pm
11.46
KB
-rw-rw-rw-
2020-07-14 01:47
Iterator.pm
1.96
KB
-rw-rw-rw-
2020-07-14 01:47
Math.pm
4
KB
-rw-rw-rw-
2020-07-14 01:47
Pod.pm
1.62
KB
-rw-rw-rw-
2020-07-14 01:47
Procedural.pm
3.59
KB
-rw-rw-rw-
2020-07-14 01:47
Scalar.pm
3.68
KB
-rw-rw-rw-
2020-07-14 01:47
String.pm
17.74
KB
-rw-rw-rw-
2020-07-14 01:47
Table.pm
12.41
KB
-rw-rw-rw-
2020-07-14 01:47
URL.pm
5.72
KB
-rw-rw-rw-
2020-07-14 01:47
View.pm
2.42
KB
-rw-rw-rw-
2020-07-14 01:47
Wrap.pm
3.2
KB
-rw-rw-rw-
2020-07-14 01:47
Save
Rename
#============================================================= -*-Perl-*- # # Template::Plugin::Assert # # DESCRIPTION # Template Toolkit plugin module which allows you to assert that # items fetches from the stash are defined. # # AUTHOR # Andy Wardley <abw@wardley.org> # # COPYRIGHT # Copyright (C) 2008 Andy Wardley. All Rights Reserved. # # This module is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # #============================================================================ package Template::Plugin::Assert; use base 'Template::Plugin'; use strict; use warnings; use Template::Exception; our $VERSION = '3.009'; our $MONAD = 'Template::Monad::Assert'; our $EXCEPTION = 'Template::Exception'; our $AUTOLOAD; sub load { my $class = shift; my $context = shift; my $stash = $context->stash; my $vmethod = sub { $MONAD->new($stash, shift); }; # define .assert vmethods for hash and list objects $context->define_vmethod( hash => assert => $vmethod ); $context->define_vmethod( list => assert => $vmethod ); return $class; } sub new { my ($class, $context, @args) = @_; # create an assert plugin object which will handle simple variable # lookups. return bless { _CONTEXT => $context }, $class; } sub AUTOLOAD { my ($self, @args) = @_; my $item = $AUTOLOAD; $item =~ s/.*:://; return if $item eq 'DESTROY'; # lookup the named values my $stash = $self->{ _CONTEXT }->stash; my $value = $stash->dotop($stash, $item, \@args); if (! defined $value) { die $EXCEPTION->new( assert => "undefined value for $item" ); } return $value; } package Template::Monad::Assert; our $EXCEPTION = 'Template::Exception'; our $AUTOLOAD; sub new { my ($class, $stash, $this) = @_; bless [$stash, $this], $class; } sub AUTOLOAD { my ($self, @args) = @_; my ($stash, $this) = @$self; my $item = $AUTOLOAD; $item =~ s/.*:://; return if $item eq 'DESTROY'; my $value = $stash->dotop($stash, $item, \@args); if (! defined $value) { die $EXCEPTION->new( assert => "undefined value for $item" ); } return $value; } 1; __END__ =head1 NAME Template::Plugin::Assert - trap undefined values =head1 SYNOPSIS [% USE assert %] # throws error if any undefined values are returned [% object.assert.method %] [% hash.assert.key %] [% list.assert.item %] =head1 DESCRIPTION This plugin defines the C<assert> virtual method that can be used to automatically throw errors when undefined values are used. For example, consider this dotop: [% user.name %] If C<user.name> is an undefined value then TT will silently ignore the fact and print nothing. If you C<USE> the C<assert> plugin then you can add the C<assert> vmethod between the C<user> and C<name> elements, like so: [% user.assert.name %] Now, if C<user.name> is an undefined value, an exception will be thrown: assert error - undefined value for name =head1 AUTHOR Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/> =head1 COPYRIGHT Copyright (C) 2008 Andy Wardley. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SEE ALSO L<Template::Plugin> =cut # Local Variables: # mode: perl # perl-indent-level: 4 # indent-tabs-mode: nil # End: # # vim: expandtab shiftwidth=4: