Bonjour,

J'essaie de faire un split sur des espaces variables, voici mon script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl
 use strict;
use warnings;
 
my @prstat= `prstat 0 1 | grep -v PID | grep -v Total`;
print "@prstat \n";
 
foreach my $line  (@prstat) {
	 my @line=split (/ /,$line);
	 my $time=$line[8];
	 print "$time \n";
	 }
Qui me donne ceci pour le tableau @prstat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
  26420 user1  762M  244M cpu20    0    0  40:23:32 6,2% process/1
   1150 user1  779M  276M cpu17    0    0  16:27:51 6,2% spece/1
  25215 user2  173M  138M sleep   59    0   0:04:31 0,3% hpee/3
  25496 user2  614M  490M sleep   59    0   0:04:08 0,3% MAB/39
  22615 root     4392K 3560K sleep   59    0   0:00:49 0,2% prstat/1
  12900 user3  1113M  999M sleep   49    0   1:20:05 0,1% counter/4
  25683 cerasani 1392M 1162M sleep   59    0 166:02:13 0,1% MAB/68
   2088 user4    225M  181M sleep   59    0   0:14:29 0,1% ic/1
  29481 user1 7920K 3824K sleep   59    0   1:24:43 0,1% sshd/1
  26421 user1  206M  201M sleep   59    0   0:56:13 0,1% vision.exe/1
  25145 user2 8344K 5920K sleep   59    0   0:00:59 0,1% sshd/1
  14049 user4   8920K 2232K sleep   49    0   0:22:06 0,1% sshd/1
Comme vous le remarquez l'espace entre les colonnes est variables , je ne peux donc pas extraire la colonne temps.

Comment dois je appliquer mon split?
Merci de votre aide.