mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
SMUtils.pm: new version 1.28.0
git-svn-id: https://svn.fhem.de/fhem/trunk@29411 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
ef7624a8aa
commit
b2bfc3b22a
@ -26,6 +26,7 @@
|
||||
#########################################################################################################################
|
||||
|
||||
# Version History
|
||||
# 1.28.0 07.12.2024 add function delHashRefDeep
|
||||
# 1.27.4 05.12.2024 expand evaljson for SolarForecast
|
||||
# 1.27.3 26.10.2024 compatibility to SSCam V 9.12.0
|
||||
# 1.27.2 16.03.2024 change checkModVer text output
|
||||
@ -61,13 +62,14 @@ use FHEM::SynoModules::ErrCodes qw(:all); # Erro
|
||||
use GPUtils qw( GP_Import GP_Export );
|
||||
use Carp qw(croak carp);
|
||||
|
||||
use version 0.77; our $VERSION = version->declare('1.27.4');
|
||||
use version 0.77; our $VERSION = version->declare('1.28.0');
|
||||
|
||||
use Exporter ('import');
|
||||
our @EXPORT_OK = qw(
|
||||
getClHash
|
||||
delClHash
|
||||
delReadings
|
||||
delHashRefDeep
|
||||
createReadingsFromArray
|
||||
checkModVer
|
||||
addCHANGED
|
||||
@ -294,6 +296,30 @@ sub slurpFile {
|
||||
return ($errorcode, $content);
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Hash Referenz rekursiv löschen
|
||||
#
|
||||
# Stellt sicher, dass alle verschachtelten Strukturen explizit
|
||||
# gelöscht werden. Dies ist besonders nützlich um
|
||||
# sicherzustellen, dass keine zirkulären Referenzen bestehen,
|
||||
# die die Speicherfreigabe verhindern könnten.
|
||||
###############################################################################
|
||||
sub delHashRefDeep {
|
||||
my $href = shift // carp $carpnohash && return;
|
||||
|
||||
for my $key (keys %{$href}) {
|
||||
if (ref $href->{$key} eq 'HASH') {
|
||||
delHashRefDeep ($href->{$key});
|
||||
}
|
||||
|
||||
delete $href->{$key};
|
||||
}
|
||||
|
||||
$href = undef; # Optional: Garbage Collection erzwingen
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# einen Zeitstring YYYY-MM-TT hh:mm:ss in einen Unix
|
||||
# Timestamp umwandeln
|
||||
|
Loading…
Reference in New Issue
Block a user