/[cvs]/nfo/perl/libs/Hash/Merge.pm
ViewVC logotype

Diff of /nfo/perl/libs/Hash/Merge.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by joko, Thu Feb 20 05:18:04 2003 UTC revision 1.2 by joko, Thu Feb 20 05:53:44 2003 UTC
# Line 145  my $merge_behavior = 'LEFT_PRECEDENT'; Line 145  my $merge_behavior = 'LEFT_PRECEDENT';
145  my $merge_matrix = \%{ $behaviors{ $merge_behavior } };  my $merge_matrix = \%{ $behaviors{ $merge_behavior } };
146    
147  my $clone_behavior = 1;  my $clone_behavior = 1;
148    my $mixin_behavior = 0;
149    
150  sub set_behavior {  sub set_behavior {
151    my $value = uc(shift);    my $value = uc(shift);
# Line 183  sub get_clone_behavior { Line 184  sub get_clone_behavior {
184    return $clone_behavior;    return $clone_behavior;
185  }  }
186    
187    sub set_mixin_behavior {
188      my $temp = shift;
189      $mixin_behavior = ( $temp ) ? 1 : 0;
190    }
191    
192  sub merge {  sub merge {
193    my ( $left, $right ) = ( shift, shift );    my ( $left, $right ) = ( shift, shift );
194        
# Line 231  sub _merge_hashes { Line 237  sub _merge_hashes {
237    my %newhash;    my %newhash;
238    foreach my $leftkey ( keys %$left ) {    foreach my $leftkey ( keys %$left ) {
239      if ( exists $right->{ $leftkey } ) {      if ( exists $right->{ $leftkey } ) {
240        $newhash{ $leftkey } =        ( $mixin_behavior ) ? $left->{ $leftkey } : $newhash{ $leftkey } =
241          merge ( $left->{ $leftkey }, $right->{ $leftkey } )          merge ( $left->{ $leftkey }, $right->{ $leftkey } )
242        } else {        } else {
243          $newhash{ $leftkey } =          $newhash{ $leftkey } =
# Line 510  under the same terms as Perl itself. Line 516  under the same terms as Perl itself.
516  =head1 HISTORY  =head1 HISTORY
517    
518          $Log$          $Log$
519            Revision 1.2  2003/02/20 05:53:44  joko
520            + sub set_mixin_behavior
521    
522          Revision 1.1  2003/02/20 05:18:04  joko          Revision 1.1  2003/02/20 05:18:04  joko
523          + initial commit, to-be-enhanced          + initial commit, to-be-enhanced
524            
525          Revision 0.07  2002/02/19 00:21:27  mneylon          Revision 0.07  2002/02/19 00:21:27  mneylon
526          Fixed problem with ActiveState Perl's Clone.pm implementation.          Fixed problem with ActiveState Perl's Clone.pm implementation.
527          Fixed typo in POD.          Fixed typo in POD.

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed