PDA

Visualizza la versione completa : pipe da comando perl


cps72
24-10-2006, 09:52
Ciao a tutti,
se eseguo questo comando in bash :

uptime | awk "{print $10 }" | tr -s , " "

ho, come risultato, il valore del load del mio pc (linux centos).

Da perl ho pensato di lanciare lo stesso comando in questo modo :

my $avg = `uptime | awk '{print $10 }' | tr -s , " "`;

Il risultato, pero', e' diverso. E' come se il secondo pipe non venisse preso.
Lanciato da bash : 3.23
Lanciato da perl, $avg contiene : 3.23,

Ho fatto altre prove e, cosi' a naso, sembra che venga interpretato solo il primo pipe.

Sbaglio a usare questo comando in questo modo ?
C'e' un modo piu' intelligente ?


Grazie a tutti.

cps72
24-10-2006, 10:41
Risolto. Il problema era nei caratteri speciali tipo il $ e le parentesi graffe. Aggiunta la \ davanti il problema e' risolto.

Ciau

Loading