view release on metacpan or search on metacpan
lib/Acme/Version/Same.pm view on Meta::CPAN
my $foo = Acme::Version::Same->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 function1
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/Voodoo.pm view on Meta::CPAN
A method to turn your object into a zombie. The next method call on the object
will cause your program to go into limbo for an unpredictable amount of time.
When it wakes up, it will do what you asked it to do, and will feel fine from
then on, having no memory of what happened. If you know how long you want
your target to go to sleep for, pass the number of seconds in.
=cut
sub zombie {
my ( $self, $sleep ) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install/Metadata.pm view on Meta::CPAN
my $name = shift;
my $features = ( $self->{values}->{features} ||= [] );
my $mods;
if ( @_ == 1 and ref( $_[0] ) ) {
# The user used ->feature like ->features by passing in the second
# argument as a reference. Accomodate for that.
$mods = $_[0];
} else {
$mods = \@_;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/WTF.pm view on Meta::CPAN
my $foo = Acme::WTF->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 sum( LIST_OF_NUMBERS )
view all matches for this distribution
view release on metacpan or search on metacpan
# A method for getting some basic information about the current state.
# Arguments: None.
# Returns: In a scalar context, this function returns a string describing the
# current state. In a list context, this function returns a list
# containing two numbers -- the first one is the number of words
# that this object knows about, and the second one is the average
# number of transitions between words.
sub stats {
my $self = shift;
die "Invalid object" unless (ref($self) eq __PACKAGE__);
Using the B<stat()> method will provide you with some simple statistics about
the current state of an object. When used in a scalar context, the B<stat()>
method will return a string containing a description of what the object knows.
When used in a list context, it will return a list of two numbers. The first
entry in the list is the number of words that the object knows. The second
entry in the list is the average number of connections between words.
my ($wordcount, $average) = $wabby->stats;
print "count=$wordcount, average=$average\n";
print scalar($wabby->stats), "\n";
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/WallisdsFirstModule.pm view on Meta::CPAN
my $foo = Acme::WallisdsFirstModule->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 function1
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/Web/PodDisplay.pm view on Meta::CPAN
L<Acme::Web::PodDisplay::Deeper/html>
=item *
L<The "html" subsection|Acme::Web::PodDisplay::Deeper/html>
=item *
L<load_components|Class::C3::Componentised/load_components( @comps )>
lib/Acme/Web/PodDisplay.pm view on Meta::CPAN
=head2 Text
=begin text
This is simple text. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Here's some indented text. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+-----------------+--------------+
lib/Acme/Web/PodDisplay.pm view on Meta::CPAN
=back
=over
=item One big item line. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo con...
=item Single paragraph. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=item Multiple paragraphs. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos
view all matches for this distribution
view release on metacpan or search on metacpan
Acme-XKCD-DebianRandom version 1.00
===================================
Implementation of the "secure" Debian non-random number generator
See also:
http://xkcd.com/221/
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install/Metadata.pm view on Meta::CPAN
my $name = shift;
my $features = ( $self->{values}->{features} ||= [] );
my $mods;
if ( @_ == 1 and ref( $_[0] ) ) {
# The user used ->feature like ->features by passing in the second
# argument as a reference. Accomodate for that.
$mods = $_[0];
} else {
$mods = \@_;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
The default namespace is C<DPPP_>.
=back
The good thing is that most of the above can be checked by running
F<lib/Acme/YAPC/Okinawa/ppport.h> on your source code. See the next section for
details.
=head1 EXAMPLES
To verify whether F<lib/Acme/YAPC/Okinawa/ppport.h> is needed for your module, whether you
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
_get_swash_invlist|||
_invlist_array_init|||n
_invlist_contains_cp|||n
_invlist_contents|||
_invlist_dump|||
_invlist_intersection_maybe_complement_2nd|||
_invlist_intersection|||
_invlist_invert|||
_invlist_len|||n
_invlist_populate_swatch|||n
_invlist_search|||n
_invlist_subtract|||
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
ssc_anything|||
ssc_clear_locale|||n
ssc_cp_and|||
ssc_finalize|||
ssc_init|||
ssc_intersection|||
ssc_is_anything|||n
ssc_is_cp_posixl_init|||n
ssc_or|||
ssc_union|||
stack_grow|||
lib/Acme/YAPC/Okinawa/ppport.h view on Meta::CPAN
* 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts"
* 2. Declare a typedef named my_cxt_t that is a structure that contains
* all the data that needs to be interpreter-local.
* 3. Use the START_MY_CXT macro after the declaration of my_cxt_t.
* 4. Use the MY_CXT_INIT macro such that it is called exactly once
* (typically put in the BOOT: section).
* 5. Use the members of the my_cxt_t structure everywhere as
* MY_CXT.member.
* 6. Use the dMY_CXT macro (a declaration) in all the functions that
* access MY_CXT.
*/
view all matches for this distribution
view release on metacpan or search on metacpan
and telling the user how to view a copy of this License. (Exception: if the
Program itself is interactive but does not normally print such an announcement,
your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License,
and its terms, do not apply to those sections when you distribute them as
separate works. But when you distribute the same sections as part of a whole
which is a work based on the Program, the distribution of the whole must be on
the terms of this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to
work written entirely by you; rather, the intent is to exercise the right to control
the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the
Program (or with a work based on the Program) on a volume of a storage or
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute
corresponding source code. (This alternative is allowed only for noncommercial
distribution and only if you received the program in object code or executable
form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all the
source code for all modules it contains, plus any associated interface definition
files, plus the scripts used to control compilation and installation of the
not permit royalty-free redistribution of the Program by all those who receive
copies directly or indirectly through you, then the only way you could satisfy
both it and this License would be to refrain entirely from distribution of the
Program.
If any portion of this section is held invalid or unenforceable under any particular
circumstance, the balance of the section is intended to apply and the section as
a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other
property right claims or to contest validity of any such claims; this section has
the sole purpose of protecting the integrity of the free software distribution
system, which is implemented by public license practices. Many people have
made generous contributions to the wide range of software distributed through
that system in reliance on consistent application of that system; it is up to the
author/donor to decide if he or she is willing to distribute software through any
other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries
either by patents or by copyrighted interfaces, the original copyright holder who
places the Program under this License may add an explicit geographical
view all matches for this distribution
view release on metacpan or search on metacpan
t/01multiple.t view on Meta::CPAN
$beer = "foamy";
$fault = "muttley";
is($Foo::beer, "foamy", "first var okay");
is($Foo::fault, "muttley", "second var okay");
}
view all matches for this distribution
view release on metacpan or search on metacpan
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
0.003 2020-09-12
[ Packaging ]
- Fix version numbers in META.json `provides` section.
0.002 2020-09-12
[ Packaging ]
- Include all Zydeco-generated packages in META.json `provides` section.
[ Other ]
- Updated: Rename Classes.pl to Classes.zydeco.pm.
0.001 2020-09-12 Initial release
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/constant.pm view on Meta::CPAN
print "But now, ACME is ", ACME, "\n";
use Acme::constant LIST => 1, 2, 3;
print "Second element of list is ", (LIST)[1], ".\n";
(LIST) = (4, 5, 6);
print "But now, the second element is ", (LIST)[1], "\n";
=head1 DESCRIPTION
This pragma lets you make inconstant constants, just like the constants
the users of Ruby or Opera (before Opera 14, that is) already enjoyed.
lib/Acme/constant.pm view on Meta::CPAN
sigil do constants use.
=head1 NOTES
As the Perl compiler needs to know about which barewords are keywords,
constants have to defined in C<BEGIN> section. Usually, this is not a
problem, as C<use> statement is automatically put in implicit C<BEGIN>
section, but that also means you cannot dynamically create constants.
For example, in the example below, the C<DEBUG> constant is always
created, with value 1, as C<use> is processed when Perl parser sees
it.
if ($ENV{DEBUG}) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/ctreptow.pm view on Meta::CPAN
my $foo = Acme::ctreptow->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 function1
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/dwcarder.pm view on Meta::CPAN
my $foo = Acme::dwcarder->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 sum ( LIST_OF_NUMBERS )
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install/Metadata.pm view on Meta::CPAN
}
$self->version_from($file) unless $self->version;
$self->perl_version_from($file) unless $self->perl_version;
# The remaining probes read from POD sections; if the file
# has an accompanying .pod, use that instead
my $pod = $file;
if ( $pod =~ s/\.pm$/.pod/i and -e $pod ) {
$file = $pod;
}
inc/Module/Install/Metadata.pm view on Meta::CPAN
my $features = ( $self->{values}{features} ||= [] );
my $mods;
if ( @_ == 1 and ref( $_[0] ) ) {
# The user used ->feature like ->features by passing in the second
# argument as a reference. Accomodate for that.
$mods = $_[0];
} else {
$mods = \@_;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/kevinz.pm view on Meta::CPAN
my $foo = Acme::kevinz->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 function1
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/phillup.pm view on Meta::CPAN
This is just a quickie module being created during a workshop at YAPC::NA 2012 by brian d foy
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 sum
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/rafl/Everywhere.pm view on Meta::CPAN
q{rafl is so everywhere, he can patch your code even before you push it!},
q{rafl is so everywhere, he caused an integer overflow in every Airline's mileage system!},
q{rafl is so everywhere, there's a saved seat for him in every conference in the world!},
q{rafl is so everywhere, there's a DuckDuckGo.com "!rafl" bang syntax!},
q{rafl is so everywhere, he can go sightseeing without leaving his hotel room!},
q{rafl is so everywhere, the longest-running scavanger hunt for him took 0.0015 seconds!},
q{rafl is so everywhere, `grep -i 'rafl' /dev/sda` *always* matches!},
q{rafl is so everywhere, Internet Census 2012 found 1.3 billion active IP addresses and estimates that 1.1 billion of them are being used by rafl!},
q{rafl is so everywhere, the next version of Debian is replacing /bin/cat with a shell alias for grep 'rafl'},
q{rafl is so everywhere, the Da Vinci code is actually a Base64 Rot13 representation of rafl},
);
view all matches for this distribution
view release on metacpan or search on metacpan
CONTRIBUTING.mkdn view on Meta::CPAN
As a last resort, an email to the author(s) is acceptable.
## Installing and using Dist::Zilla
Dist::Zilla is not required for contributing, but if you'd like to learn
more, this section will get you up to speed.
Dist::Zilla is a very powerful authoring tool, optimized for maintaining a
large number of distributions with a high degree of automation, but it has a
large dependency chain, a bit of a learning curve and requires a number of
author-specific plugins.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/stickpin.pm view on Meta::CPAN
my $foo = Acme::stickpin->new();
...
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 function1
view all matches for this distribution
view release on metacpan or search on metacpan
# We really ought to (a) document or rescind this feature
# (b) if we document it, change the implementation to use filter
# simple
# (c) if so, check whether it falls foul of the subtle trap of
# caller-filter leaves some data in the buffer, and filter gets to see
# it in $_ for a second time.
if (@lines) {
push @lines, $_;
$_ = shift @lines;
return length $_;
}
view all matches for this distribution
view release on metacpan or search on metacpan
Acpi::Battery is used to have information about your battery.It's specific for GNU/Linux
=head1 METHOD DESCRIPTIONS
This sections contains only the methods in Battery.pm itself.
=over
=item *
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acrux/DBI/Dump.pm view on Meta::CPAN
$dump = $dump->from_data;
$dump = $dump->from_data('main');
$dump = $dump->from_data('main', 'file_name');
Extract dump data from a file in the DATA section of a class with
L<Mojo::Loader/"data_section">, defaults to using the caller class and
L</"name">.
__DATA__
@@ schema
lib/Acrux/DBI/Dump.pm view on Meta::CPAN
=cut
use Mojo::Base -base;
use Mojo::Loader qw/data_section/;
use Mojo::File qw/path/;
use constant {
DELIMITER => ';',
TAG_DEFAULT => 'main',
lib/Acrux/DBI/Dump.pm view on Meta::CPAN
# make new block
if ($is_new) {
push @{$pool->{$tag} //= []}, $buf if length($tag) and $buf !~ /^\s*$/s;
$is_new = 0;
$buf = '';
} else { # Or add cur chunk to section
$buf .= $chunk;
}
}
# add buf line to block
lib/Acrux/DBI/Dump.pm view on Meta::CPAN
}
sub from_data {
my $self = shift;
my $class = shift;
my $name = shift;
return $self->from_string(data_section($class //= caller, $name // $self->name));
}
sub from_file {
my $self = shift;
my $file = shift;
return $self->from_string(path($file)->slurp('UTF-8'));
view all matches for this distribution
view release on metacpan or search on metacpan
eg/acrux_std.pl view on Meta::CPAN
return $self;
}
DESTROY {
my $el = sprintf("%+.*f sec", 4, shift->elapsed);
print color(green => "Finish application ($el)"), "\n" ;
}
__PACKAGE__->register_handler; # default
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Action/CircuitBreaker.pm view on Meta::CPAN
sub run {
my ($self, $attempt_code) = @_;
if (my $timestamp = $self->_circuit_open_until) {
# we can't execute until the timestamp has done
my ($seconds, $microseconds) = gettimeofday;
$seconds * 1000 + int($microseconds / 1000) >= $timestamp
or die 'The circuit is open and cannot be executed.';
$self->_circuit_open_until(0);
$self->has_on_circuit_close
and $self->on_circuit_close->();
}
lib/Action/CircuitBreaker.pm view on Meta::CPAN
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;
lib/Action/CircuitBreaker.pm view on Meta::CPAN
as first argument, a scalar which is the value of any exception that were
raised by the C<$attempt_code>. Otherwise, undef.
=item *
as second argument, a HashRef, which contains these keys:
=back
=over
lib/Action/CircuitBreaker.pm view on Meta::CPAN
=head2 open_time
ro, int, optional
Time in number of seconds to open the circuit for after C<max_retries_number> have failed.
=head1 METHODS
=head2 run
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Action/Retry.pm view on Meta::CPAN
while(1) {
if (my $timestamp = $self->_needs_sleeping_until) {
# we can't retry until we have waited enough time
my ($seconds, $microseconds) = gettimeofday;
$seconds * 1000 + int($microseconds / 1000) >= $timestamp
or return;
$self->_needs_sleeping_until(0);
$self->strategy->next_step;
}
lib/Action/Retry.pm view on Meta::CPAN
and return $self->on_failure_code->($error, $h);
return;
}
if ($self->non_blocking) {
my ($seconds, $microseconds) = gettimeofday;
$self->_needs_sleeping_until($seconds * 1000 + int($microseconds / 1000) + $self->strategy->compute_sleep_time);
} else {
usleep($self->strategy->compute_sleep_time * 1000);
$self->strategy->next_step;
}
}
lib/Action/Retry.pm view on Meta::CPAN
version 0.24
=head1 SYNOPSIS
# Simple usage, will attempt to run the code, retrying if it dies, retrying
# 10 times max, sleeping 1 second between retries
# functional interface
use Action::Retry qw(retry);
retry { do_stuff };
lib/Action/Retry.pm view on Meta::CPAN
as first argument, a scalar which is the value of any exception that were
raised by the C<attempt_code>. Otherwise, undef.
=item *
as second argument, a HashRef, which contains these keys:
=over
=item action_retry
lib/Action/Retry.pm view on Meta::CPAN
=over
=item L<Retry>
No custom checking code. No retry strategies. Can't sleep under one second. No
non-blocking mode. No custom failure code.
=item L<Sub::Retry>
No retry strategies. Can't sleep under one second. Retry code is
passed the results of the attempt code, but not the exception. No non-blocking mode. No custom failure code.
=item Attempt
No custom checking code. Strange exception catching behavior. No retry strategies. No non-blocking mode. No custom failure code.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Activator/Config.pm view on Meta::CPAN
get the config like this:
Activator::Config->get_config( \@ARGV, undef, 1 );
The second argument to L</get_config()> is the realm, so you pass
C<undef> (unless you know the realm you are looking for) to allow the
command line options and environment variables to take affect.
=head1 ENVIRONMENT VARIABLES
lib/Activator/Config.pm view on Meta::CPAN
ACT_CONFIG_foo - set 'foo' for default realm
ACT_CONFIG__bar__foo - set 'foo' only for 'bar' realm
The L</Reserved Arguments> listed in the L</COMMAND LINE ARGUMENTS>
section also have corresponding environment variables with only
C<skip_env> being slightly different:
ACT_CONFIG_skip_env : set to 1 to skip, or 0 (or don't set it at all) to
not skip
ACT_CONFIG_project : same as command line argument
lib/Activator/Config.pm view on Meta::CPAN
All specific I<realm> environment variables override that realm's values.
=item *
The C<default> realm overrides section is used to override matching
keys in each I<realm>.
=item *
The specific I<realm> overrides section is used to override matching keys
in I<realm>.
=item *
Any command line options given override ALL matching keys for ALL realms.
lib/Activator/Config.pm view on Meta::CPAN
#### TODO: these examples are probably complete baloney at this point.
This section gives some examples of how to utilze this module. Each
section below (cleverly) assumes we are writing a Cookbook application
that can fetch recipies from a database.
=head2 End User
view all matches for this distribution
view release on metacpan or search on metacpan
lib/ActiveRecord/Simple.pm view on Meta::CPAN
my ($class, $primary_key) = @_;
$class->_mk_attribute_getter('_get_primary_key', $primary_key);
}
sub secondary_key {
my ($class, $key) = @_;
$class->_mk_attribute_getter('_get_secondary_key', $key);
}
sub table_name {
my ($class, $table_name) = @_;
lib/ActiveRecord/Simple.pm view on Meta::CPAN
#my $table_name = $self->_table_name;
my $table_name = _what_is_the_table_name($self);
my @field_names = grep { defined $param->{$_} } sort keys %$param;
my $primary_key = ($self->can('_get_primary_key')) ? $self->_get_primary_key :
($self->can('_get_secondary_key')) ? $self->_get_secondary_key : undef;
my $field_names_str = join q/, /, map { q/"/ . $_ . q/"/ } @field_names;
my (@bind, @values_list);
for (@field_names) {
lib/ActiveRecord/Simple.pm view on Meta::CPAN
#my $table_name = $self->_table_name;
my $table_name = _what_is_the_table_name($self);
my @field_names = sort keys %$param;
my $primary_key = ($self->can('_get_primary_key')) ? $self->_get_primary_key :
($self->can('_get_secondary_key')) ? $self->_get_secondary_key : undef;
my (@set_list, @bind);
for (@field_names) {
if (ref $param->{$_} eq 'SCALAR') {
push @set_list, $_ . ' = ' . ${ $param->{$_} };
lib/ActiveRecord/Simple.pm view on Meta::CPAN
Set primary key. Optional parameter.
__PACKAGE__->primary_key('id');
=head2 secondary_key
Set secondary key.
__PACKAGE__->secondary_key('time');
=head2 auto_load
Load table_name, columns and primary_key from table_info (automatically from database).
view all matches for this distribution