Veröffentlicht 8. Dezember 200420 j Hallo Jungs und Mädls, hab hier ne Zeile PERL Code die mir echt Kopfschmerzen bereitet: # Memory Information my $memoryinfo = $hklm->{"HARDWARE\\RESOURCEMAP\\System Resources\\Physical Memory"}; $info->{"memory"} = ceil((unpack "L*", $memoryinfo->{".Translated"})[-1] / 1024 / 1024 + 16) . " MB"; Das ganze ist aus dem Modul Win32::MachineInfo (MachineInfo.pm ) und sollte eigentlich die Größe des RAM`s berechnen, bei den meisten unserer Rechner funktioniert das auch richtig, nur kommen bei einigen 17MB Arbeitsspeicher raus. Und das ist definitiv falsch. - ich verstehe die funktion ceil() , rundet auf die nächste ganze zahl auf - ich verstehe unpack (), zerlegt den string - was mich allerdings sehr verwirrt ist der index [-1] von der Klammerung glaub ich gehört der zur unpack funktion , ist das irgendein special oder so?? ciao r##t
8. Dezember 200420 j Hallo Jungs und Mädls, hab hier ne Zeile PERL Code die mir echt Kopfschmerzen bereitet: # Memory Information my $memoryinfo = $hklm->{"HARDWARE\\RESOURCEMAP\\System Resources\\Physical Memory"}; $info->{"memory"} = ceil((unpack "L*", $memoryinfo->{".Translated"})[-1] / 1024 / 1024 + 16) . " MB"; [schnippschnapp...] - was mich allerdings sehr verwirrt ist der index [-1] von der Klammerung glaub ich gehört der zur unpack funktion , ist das irgendein special oder so?? das [-1] bezeichnet das letzte Element des Arrays davor, sprich: des Arrays "(unpack "L*", $memoryinfo->{".Translated"})" und die 17MB werden wohl davon kommen, dass bei den Divisionen mal 1 rauskommt und +16 gerechnet wird. taschentoast
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.