{"added":null,"apiVersion":1,"behindSince":null,"buildDepends":[],"categories":["devel","perl5"],"comment":"Merge two nested data structures, with merging modes and options","compare":null,"dependentCount":null,"description":"There are already several modules on CPAN to do recursive data structure\nmerging, like Data::Merger and Hash::Merge. Data::ModeMerge differs in that it\noffers merging \"modes\" and \"options\". It provides greater flexibility on what\nthe result of a merge between two data should/can be. This module may or may not\nbe what you need.\n\nOne application of this module is in handling configuration. Often there are\nmultiple levels of configuration, e.g. in your typical Unix command-line program\nthere are system-wide config file in /etc, per-user config file under ~/, and\ncommand-line options. It's convenient programatically to load each of those in a\nhash and then merge system-wide hash with the per-user hash, and then merge the\nresult with the command-line hash to get the a single hash as the final\nconfiguration. Your program can from there on deal with this just one hash\ninstead of three.\n\nIn a typical merging process between two hashes (left-side and right-side), when\nthere is a conflicting key, then the right-side key will override the left-side.\nThis is usually the desired behaviour in our said program as the system-wide\nconfig is there to provide defaults, and the per-user config (and the\ncommand-line arguments) allow a user to override those defaults.","flavors":[],"html":"https://daemonports.org/dragonfly/devel/p5-Data-ModeMerge/","kind":"port","lastUpdate":null,"license":["ART10","GPLv1+"],"maintainer":"sunpoet@FreeBSD.org","name":"p5-Data-ModeMerge","newest":false,"newestVersion":"0.360","noVulnData":false,"origin":"devel/p5-Data-ModeMerge","otherSystems":[{"maintainer":"sunpoet@FreeBSD.org","newest":true,"origin":"devel/p5-Data-ModeMerge","path":"/devel/p5-Data-ModeMerge/","system":"FreeBSD","version":"0.360"},{"maintainer":"sunpoet@FreeBSD.org","newest":true,"noVulnData":true,"origin":"devel/p5-Data-ModeMerge","path":"","system":"HardenedBSD","version":"0.360"},{"maintainer":"sunpoet@FreeBSD.org","newest":true,"noVulnData":true,"origin":"devel/p5-Data-ModeMerge","path":"","system":"GhostBSD","version":"0.360"}],"packages":null,"pkgName":"p5-Data-ModeMerge-0.36.0","related":null,"repository":"DPorts","requiredBy":["devel/p5-Data-Sah-Resolve"],"requiredByCount":1,"runDepends":["devel/p5-Data-Dmp","devel/p5-Mo","lang/perl5.36"],"status":null,"system":"dragonfly","systemLabel":"DragonFly","version":"0.36.0","versions":null,"vulnerabilities":null,"www":"https://metacpan.org/dist/Data-ModeMerge"}
