#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
system 'cls';
my $test1 = ['Birne','Apfel'];
my @test2 = ('Fred','Anna');
my %test3 = (foo => 'bar',abc => 'def');
my $test4 = 'string';
my %uebergabe = (
liste => [
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
'Testtext',
# [$test1,\@test2,\%test3,\$test4],
[
'$test1' => $test1
]
]
]
);
my $env;
meldung_machen($env,\%uebergabe);
###############################################################################
###############################################################################
sub meldung_machen{
my ($env,$transp) = @_;
foreach my $ref (@{$transp->{liste}}) {
# Text setzen
my $text = $ref->[9];
# Dump/-s im Text ergänzen
if (defined $ref->[10] && ref($ref->[10]) eq 'ARRAY') {
require Data::Dumper;
local $Data::Dumper::Useqq;
$Data::Dumper::Useqq = 1;
local $Data::Dumper::Sortkeys;
$Data::Dumper::Sortkeys = sub {
my ($hash) = @_;
return [(sort {$a =~ /^\d+$/ && $b =~ /^\d+$/ ? $a <=> $b : lc($a) cmp lc($b)} keys %$hash)];
};
foreach my $args (@{$ref->[10]}) {
#say $args;
say "Zeile ".__LINE__.': '.Data::Dumper::Dumper($args);
my @names = keys %$args;
my @refs = values %$args;
my $dump = Data::Dumper::Dump(\@refs,\@names);
$dump =~ s/&/&/g;
$dump =~ s/</g;
$dump =~ s/>/>/g;
$dump =~ s/\n/
/g;
$text .= "
Dump von xxx:\n
$dump"; } } say $text; } }