Bonjour tout le monde
je débute en perl, et je suis en train d'essayer de comprendre un script qui importe un scan Nmap dans une base de données SQLite, mais malheureusement j'ai un peu de mal avec ce bout de code.
Si quelqu'un pouvait me donner qques explications...
Merci beaucoup
Au fait c'est quoi le rôle habituel d'une fonction callback?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
...
use vars qw(%S %G); # %S est déclaré comme un hash global
 
....
 
$S{INSERT_HOST} = qq{INSERT OR REPLACE INTO }.$G{TABLE}....; # pas compris, 
 
 
 
$np->callback(\&insert_host); #pourquoi le \ ?
 
 
 
---------------------------------------
 
sub callback {
	my $self = shift;
	my $callback = shift; #first arg is CODE #c'est pas le deuxième argument qu'il est en train de charger ?
	if(ref($callback) eq 'CODE'){ #$callback est de type code ?
		$self->{callback}{coderef} = $callback; //$Self est une liste à deux dimensions ? qqchose m'échappe là
		$self->{callback}{is_registered} = 1;
	} else {
		$self->{callback}{is_registered} = 0;
	}
 
	#returns if a callback is registered or not
	return $self->{callback}{is_registered};
}