mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
fhem.pl: add array and hash to AnalyzePerlCommands (Forum #112356)
git-svn-id: https://svn.fhem.de/fhem/trunk@22342 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
03eaea5bdb
commit
a2067b851a
20
fhem/fhem.pl
20
fhem/fhem.pl
@ -1136,15 +1136,13 @@ AnalyzePerlCommand($$;$)
|
|||||||
my $we = IsWe(undef, $wday);
|
my $we = IsWe(undef, $wday);
|
||||||
|
|
||||||
if($evalSpecials) {
|
if($evalSpecials) {
|
||||||
$cmd = join("", map { my $n = substr($_,1); # ignore the %
|
$cmd = join("", map {
|
||||||
my $v = $evalSpecials->{$_};
|
my $n = substr($_,1); # ignore the legacy %
|
||||||
$v =~ s/(['\\])/\\$1/g;
|
my $ref = ref($evalSpecials->{$_});
|
||||||
"my \$$n='$v';";
|
$ref eq "ARRAY" ? "my \@$n=\@{\$evalSpecials->{'$_'}};" :
|
||||||
} keys %{$evalSpecials})
|
$ref eq "HASH" ? "my \%$n=\%{\$evalSpecials->{'$_'}};" :
|
||||||
. $cmd;
|
"my \$$n= \$evalSpecials->{'$_'};";
|
||||||
# Normally this is deleted in AnalyzeCommandChain, but ECMDDevice calls us
|
} sort keys %{$evalSpecials}) . $cmd;
|
||||||
# directly, and combining perl with something else isnt allowed anyway.
|
|
||||||
$evalSpecials = undef if(!$calledFromChain);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$cmdFromAnalyze = $cmd;
|
$cmdFromAnalyze = $cmd;
|
||||||
@ -1153,6 +1151,10 @@ AnalyzePerlCommand($$;$)
|
|||||||
$ret = $@;
|
$ret = $@;
|
||||||
Log 1, "ERROR evaluating $cmd: $ret";
|
Log 1, "ERROR evaluating $cmd: $ret";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Normally this is deleted in AnalyzeCommandChain, but ECMDDevice calls us
|
||||||
|
# directly, and combining perl with something else isnt allowed anyway.
|
||||||
|
$evalSpecials = undef if(!$calledFromChain);
|
||||||
$cmdFromAnalyze = undef;
|
$cmdFromAnalyze = undef;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user