File manager - Edit - /usr/local/cpanel/3rdparty/perl/542/cpanel-lib/Algorithm/Dependency/Source/HoA.pm
Back
package Algorithm::Dependency::Source::HoA; # ABSTRACT: Source for a HASH of ARRAYs #pod =pod #pod #pod =head1 SYNOPSIS #pod #pod # The basic data structure #pod my $deps = { #pod foo => [ 'bar', 'baz' ], #pod bar => [], #pod baz => [ 'bar' ], #pod }; #pod #pod # Create the source from it #pod my $Source = Algorithm::Dependency::Source::HoA->new( $deps ); #pod #pod =head1 DESCRIPTION #pod #pod C<Algorithm::Dependency::Source::HoA> implements a #pod L<source|Algorithm::Dependency::Source> where the items names are provided #pod in the most simple form, a reference to a C<HASH> of C<ARRAY> references. #pod #pod =head1 METHODS #pod #pod This documents the methods differing from the ordinary #pod L<Algorithm::Dependency::Source> methods. #pod #pod =cut use 5.005; use strict; use Algorithm::Dependency::Source (); use Params::Util qw{_HASH _ARRAY0}; our $VERSION = '1.112'; our @ISA = 'Algorithm::Dependency::Source'; ##################################################################### # Constructor #pod =pod #pod #pod =head2 new $filename #pod #pod When constructing a new C<Algorithm::Dependency::Source::HoA> object, an #pod argument should be provided of a reference to a HASH of ARRAY references, #pod containing the names of other HASH elements. #pod #pod Returns the object, or C<undef> if the structure is not correct. #pod #pod =cut sub new { my $class = shift; my $hash = _HASH(shift) or return undef; foreach my $deps ( values %$hash ) { _ARRAY0($deps) or return undef; } # Get the basic source object my $self = $class->SUPER::new() or return undef; # Add our arguments $self->{hash} = $hash; $self; } ##################################################################### # Private Methods sub _load_item_list { my $self = shift; # Build the item objects from the data my $hash = $self->{hash}; my @items = map { Algorithm::Dependency::Item->new( $_, @{$hash->{$_}} ) or return undef; } keys %$hash; \@items; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Algorithm::Dependency::Source::HoA - Source for a HASH of ARRAYs =head1 VERSION version 1.112 =head1 SYNOPSIS # The basic data structure my $deps = { foo => [ 'bar', 'baz' ], bar => [], baz => [ 'bar' ], }; # Create the source from it my $Source = Algorithm::Dependency::Source::HoA->new( $deps ); =head1 DESCRIPTION C<Algorithm::Dependency::Source::HoA> implements a L<source|Algorithm::Dependency::Source> where the items names are provided in the most simple form, a reference to a C<HASH> of C<ARRAY> references. =head1 METHODS This documents the methods differing from the ordinary L<Algorithm::Dependency::Source> methods. =head2 new $filename When constructing a new C<Algorithm::Dependency::Source::HoA> object, an argument should be provided of a reference to a HASH of ARRAY references, containing the names of other HASH elements. Returns the object, or C<undef> if the structure is not correct. =head1 SEE ALSO L<Algorithm::Dependency>, L<Algorithm::Dependency::Source> =head1 SUPPORT Bugs may be submitted through L<the RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Algorithm-Dependency> (or L<bug-Algorithm-Dependency@rt.cpan.org|mailto:bug-Algorithm-Dependency@rt.cpan.org>). =head1 AUTHOR Adam Kennedy <adamk@cpan.org> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2003 by Adam Kennedy. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings