Thread Fehler beim Aufruf der log() Funktion (8 answers)
Opened by Gast at 2007-07-13 10:58

majestic
 2007-07-13 12:24
#78436 #78436
User since
2007-07-13
4 Artikel
BenutzerIn
[Homepage] [default_avatar]
So, nun doch angemeldet :)

Quote
1. benutze bitte

Code: (dl )
1
2
use strict;
use warnings;


damit kommst du bestimmt schon weiter


Nein, bringt mich leider nicht weiter.

Quote
2. wäre vielleicht gut zu wissen welche Zeile denn Zeile 1376 ist


Stimmt!
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   1367 sub _log_int
1368 {
1369 # calculate integer log of $x to base $base
1370 # ref to array, ref to array - return ref to array
1371 my ($c,$x,$base) = @_;
1372
1373 # X == 0 => NaN
1374 return if (scalar @$x == 1 && $x->[0] == 0);
1375 # BASE 0 or 1 => NaN
1376 return if (scalar @$base == 1 && $base->[0] < 2);
1377 my $cmp = _acmp($c,$x,$base); # X == BASE => 1
1378 if ($cmp == 0)
1379 {
1380 splice (@$x,1); $x->[0] = 1;
1381 return ($x,1)
1382 }
1383 # X < BASE
1384 if ($cmp < 0)
1385 {
1386 splice (@$x,1); $x->[0] = 0;
1387 return ($x,undef);
1388 }
1389




Quote
3. deine Programmierart find ich persöhnlich grausam, du lässt Berechnungen und Funktionsaufrufe im print-Befehl machen....
4. man arbeitet nie direkt mit @_ in Funktionen, könnte auch der Fehler sein,

Code: (dl )
(my $ip)=@_; 


Das ist nur ein Beispiel. Normalweise würd ich sowas nicht machen, ich wollt nur die Problematik verdeutlichen, damit das Problem auch woanders reproduzierbar ist

Quote
wobei ich zugeben muss, dass ich deine sub get_hosts net wirklich kapiere^^


In der get_hosts() werden 2 IP- Addressen in integer Zahlen umgewandelt und dann von einander abgezogen, der so enstandene Wert wird zurückgeliefert.

View full thread Fehler beim Aufruf der log() Funktion