-
-
22 Nov 2021 22:52:12 UTC
- Distribution: RapidApp
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues
- Testers (64 / 0 / 1)
- Kwalitee
Bus factor: 2- % Coverage
- License: perl_5
- Perl: v5.10.0
- Activity
24 month- Tools
- Download (2.29MB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 14 contributors-
Michael Conrad
-
Torsten Raudssus
-
Peter Rabbitson
-
Deven T. Corzine
-
Roy Tate
-
Nicholas Foos
-
Michael Lackhoff
-
Tom Bloor
-
Matt S. Trout
-
Scott Walters
-
Tim Bunce
-
Dagfinn Ilmari Mannsåker
-
Roman Pavlov
-
James Wright
- Dependencies
- Alien::Web::ExtJS::V3
- Attribute::Handlers
- B::Deparse
- CHI
- Carp
- Carp::Clan
- Catalyst::Action::RenderView
- Catalyst::Authentication::Store::DBIx::Class
- Catalyst::Component::ApplicationAttribute
- Catalyst::Controller
- Catalyst::Controller::AutoAssets
- Catalyst::Controller::SimpleCAS
- Catalyst::Devel
- Catalyst::Helper
- Catalyst::Helper::Model::DBIC::Schema
- Catalyst::Model
- Catalyst::Model::DBIC::Schema
- Catalyst::Plugin::Authorization::Roles
- Catalyst::Plugin::AutoAssets
- Catalyst::Plugin::Session::State::Cookie
- Catalyst::Plugin::Session::Store::DBIC
- Catalyst::Plugin::SimpleCAS
- Catalyst::Runtime
- Catalyst::ScriptRunner
- Catalyst::Test
- Catalyst::Utils
- Catalyst::View
- Catalyst::View::TT
- CatalystX::AppBuilder
- CatalystX::InjectComponent
- Class::Load
- Class::MOP::Class
- Clone
- Clone::PP
- DBD::SQLite
- DBI
- DBI::Const::GetInfoType
- DBIx::Class
- DBIx::Class::Core
- DBIx::Class::Helper::ResultSet::Util
- DBIx::Class::Helpers
- DBIx::Class::InflateColumn::Authen::Passphrase
- DBIx::Class::Optional::Dependencies
- DBIx::Class::ResultSet
- DBIx::Class::Schema
- DBIx::Class::Schema::Diff
- DBIx::Class::Schema::Loader
- DBIx::Class::Schema::Loader::DBI
- DBIx::Class::Schema::Loader::Table
- Data::Dumper
- Data::Dumper::Concise
- Data::Printer
- DateTime
- DateTime::Format::SQLite
- Digest::MD5
- Digest::SHA1
- Excel::Writer::XLSX
- Exporter
- File::Copy::Recursive
- File::ShareDir
- File::Spec
- File::Temp
- FindBin
- Getopt::Long
- HTML::Entities
- HTML::Parser
- HTML::TokeParser::Simple
- HTTP::Request::Common
- IPC::Cmd
- Import::Into
- JSON
- JSON::PP
- LWP::UserAgent
- List::MoreUtils
- List::Util
- MIME::Base64
- Module::Locate
- Module::Runtime
- Moo
- Moo::Role
- Moose
- Moose::Role
- Moose::Util::TypeConstraints
- MooseX::MarkAsMethods
- MooseX::NonMoose
- MooseX::Traits
- PPI
- Path::Class
- Perl::Tidy
- Plack
- Plack::Builder
- Plack::Component
- Plack::Middleware
- Plack::Runner
- Pod::Find
- Pod::Parser
- Pod::Usage
- SQL::Abstract
- SQL::Translator
- Scalar::Util
- Spreadsheet::ParseExcel
- Spreadsheet::ParseExcel::Utility
- Storable
- String::CamelCase
- String::Random
- Sub::Name
- Template
- Template::Context
- Template::Provider
- Term::ANSIColor
- Text::CSV
- Text::Glob
- Text::Markdown
- Text::SimpleTable::AutoWidth
- Text::TabularDisplay
- Text::WagnerFischer
- Tie::IxHash
- Time::HiRes
- Try::Tiny
- Type::Tiny
- Types::Standard
- URI
- URI::Escape
- autodie
- base
- bytes
- curry
- integer
- lib
- mro
- namespace::autoclean
- namespace::clean
- overload
- parent
- strict
- vars
- warnings
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
RappidApp::Util::Hash::Merge - Merges arbitrarily deep hashes into a single hash
SYNOPSIS
use RappidApp::Util:Hash::Merge qw( merge ); my %a = ( 'foo' => 1, 'bar' => [ qw( a b e ) ], 'querty' => { 'bob' => 'alice' }, ); my %b = ( 'foo' => 2, 'bar' => [ qw(c d) ], 'querty' => { 'ted' => 'margeret' }, ); my %c = %{ merge( \%a, \%b ) }; RappidApp::Util:Hash::Merge::set_behavior( 'RIGHT_PRECEDENT' ); # This is the same as above RappidApp::Util:Hash::Merge::specify_behavior( { 'SCALAR' => { 'SCALAR' => sub { $_[1] }, 'ARRAY' => sub { [ $_[0], @{$_[1]} ] }, 'HASH' => sub { $_[1] }, }, 'ARRAY => { 'SCALAR' => sub { $_[1] }, 'ARRAY' => sub { [ @{$_[0]}, @{$_[1]} ] }, 'HASH' => sub { $_[1] }, }, 'HASH' => { 'SCALAR' => sub { $_[1] }, 'ARRAY' => sub { [ values %{$_[0]}, @{$_[1]} ] }, 'HASH' => sub { RappidApp::Util:Hash::Merge::_merge_hashes( $_[0], $_[1] ) }, }, }, 'My Behavior', ); # Also there is OO interface. my $merge = RappidApp::Util:Hash::Merge->new( 'LEFT_PRECEDENT' ); my %c = %{ $merge->merge( \%a, \%b ) }; # All behavioral changes (e.g. $merge->set_behavior(...)), called on an object remain specific to that object # The legacy "Global Setting" behavior is respected only when new called as a non-OO function.
DESCRIPTION
This is a copy of Hash::Merge at version 2.00.
See https://metacpan.org/pod/release/REHSACK/Hash-Merge-0.200/lib/Hash/Merge.pm
Please don't use this as it may be removed at any time.
AUTHOR
Original author Michael K. Neylon <mneylon-pm@masemware.com>
Trivial modifications by Henry Van Styn for RapidApp
See https://github.com/vanstyn/RapidApp/issues/177 for why this copy was created.
COPYRIGHT
Copyright (c) 2001,2002 Michael K. Neylon. All rights reserved.
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
Module Install Instructions
To install RapidApp, copy and paste the appropriate command in to your terminal.
cpanm RapidApp
perl -MCPAN -e shell install RapidApp
For more information on module installation, please visit the detailed CPAN module installation guide.