Passer le resultat d'une commande shell en variable ?

Passer le resultat d'une commande shell en variable ? - Perl - Programmation

Marsh Posté le 04-09-2004 à 20:02:50    

Salut,
 
voila j'aimerai passer le resultat d'un commande shell dans une variable, mais il me l'affiche alors que je ne souhaite pas d'affichage tout de suite.
 

Code :
  1. #!/usr/bin/perl
  2. use strict qw(subs vars refs);
  3. my $test = exec('cat /proc/loadavg');


 
Une idée ?


Message édité par sharlaan le 04-09-2004 à 20:03:31

---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Marsh Posté le 04-09-2004 à 20:02:50   

Reply

Marsh Posté le 05-09-2004 à 04:12:50    

my @test = `cat /proc/loadavg`;
 
mais encore là, fait une vrai lecture en perl de cette facon:
 
open(FENT, '< /proc/loadavg');
my @test = <FENT>;
close <FENT>;

Reply

Marsh Posté le 05-09-2004 à 23:20:37    

merci, je testerai demain


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Marsh Posté le 16-10-2004 à 22:48:56    

ca marche, mais pour un "uptime" ca marche pas :/
Le probleme est que je ne veux pas de sortie en STDOUT, mais juste avoir le resultat d'un uptime dans une variable.
 
Une idée ?


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Marsh Posté le 17-10-2004 à 13:03:01    

my @uptime = `uptime`;
 
ca fonctionne pas ca?

Reply

Marsh Posté le 18-10-2004 à 18:35:16    

merci, ca marche nikel


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Marsh Posté le 20-10-2004 à 18:58:55    

sinon ya le module Sys::Load qui implemente directement les appels à loadavg et uptime en XS :
 

Code :
  1. use Sys::Load qw/getload uptime/;
  2.   print "System load: ", (getload())[0], "\n";
  3.   print "System uptime: ", int uptime(), "\n";

Reply

Marsh Posté le 22-10-2004 à 22:19:06    

ah, je vais y jeter un coup d'oeil, merci


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed