Leser: 1
![]() |
![]() |
6 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $hashref = { data => 'test', PUBLIC => { data4 => 'test4' } }; %{ $hashref->{PUBLIC} } = ( %{ $hashref->{PUBLIC} }, data2 => 'test2', data3 => 'test3', ); print Dumper $hashref;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# Update a hash by adding or replacing mappings. Hash references # stored in the top level hash can be updated recursively, if desired. # Params: # %h = The hash to modify # $depth = Recursion depth. # @kv = New key value pairs. sub hpush(\%$@); sub hpush(\%$@) { my ($h, $depth, @kv) = @_; while (@kv) { my ($k, $v) = splice @kv, 0, 2; if ($depth > 0 and ref($h->{$k}) eq 'HASH' and ref($v) eq 'HASH') { hpush %{$h->{$k}}, $depth - 1, %{$v}; } else { $h->{$k} = $v; } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
use Data::Dumper; my %h = ( foo => 42, bar => { x => { u => 1, v => 2 }, y => 'blubb' } ); print Dumper \%h; hpush %h, 1, ( baz => 23, bar => { x => { w => 3 }, z => 'blargh' } ); print Dumper \%h;
@hash{ @keys } = @values;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
my %hash = (
-a => 1,
-b => 2,
-c => 3,
);
print Dumper( \%hash ), "\n\n";
my %add_hash = (
-d => 4,
-e => 5,
-f => 6,
);
my @keys_add_hash = keys %add_hash;
@hash{ @keys_add_hash } = @add_hash{ @keys_add_hash };
print Dumper( \%hash );
![]() |
![]() |
6 Einträge, 1 Seite |