ciao a tutti, sono alle prime armi con il Perl
ho un file che viene letto dal Perl
es: preso da NS-2
+ 13.17184 2 1 tcp 250 ------- 4 11.4 0.2 1 355
- 13.17184 2 1 tcp 250 ------- 4 11.4 0.2 1 355
r 13.18384 2 1 tcp 250 ------- 4 11.4 0.2 1 355
ho fatto un programmino che mi legge il file e quindi riga per riga mi legge i valori, dato che sono tutti in colonnati ho 12 colonne:
# type: perl connectivityPacket.pl <trace file> <fromnode> <tonode> > output file
# the first argument must be the trace file.
$infile = $ARGV[0];
$fromdofin=$ARGV[1];
$tonode=$ARGV[2];
Open the file.
open (DATA,"<$infile")
|| die "Can't open $infile $!";
$continue = 0;
while (<DATA>) {
@x = split(' ');
e fino a qua va bene
il fatto è che io voglio calcolare il percorso da 11.4 a 0.2 ok?
ma volgio inserire solo la prima parte, ossia 11 e 0, come posso far leggere questo valore
mi spiego meglio: allora 11.4 è il nodo 11 con porta 4 e 0.2 è nodo 0 e porta 2
io non conosco le porte ma solo i nodi
e quindi mi servirebbe un modo per cui passando come parametri 11 e 0 mi restituisca 11.4 e 0.2
io ho fatto così:
$x[8] eq $fromnode) && ($x[9] eq $tonode), ma purtroppo vede solo 11 e 0 e non 11.4 e 0.2,
dato che gli passo come parametri 11 e 0
come fare??
poi, considerandoli sempre come stringa, avevo fatto pure $x[8] eq '$fromnode.4' per provare, ma niente
devo trovare un modo per cui scrivendo come parametri 11 e 0, lui andando a leggere il file alla 8 e 9 colonna, mi legge 11.4 e 0.2