Bonjour,

Je n'arrive pas à faire un tri dans un tableau et sortir la ligne avec la plus grande durée de temps.
J'ai la liste suivante:
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
Flag time :  4097 0:00:23 user2 MATLAB/42 4.4%
Flag time :  11365 0:00:42 user1 MATLAB/51 3.3%
Flag time :  11365 0:01:23 user1 MATLAB/50 1.2%
Flag time :  11365 0:02:02 user1 MATLAB/50 3.0%
Flag time :  11365 0:10:07 user1 MATLAB/50 7.1%
Flag time :  11365 0:16:37 user1 MATLAB/49 7.5%
Flag time :  11365 0:22:20 user1 MATLAB/49 7.2%
Flag time :  11365 0:24:29 user1 MATLAB/49 6.0%
Flag time :  11365 0:28:19 user1 MATLAB/49 1.2%
Flag time :  11365 0:29:14 user1 MATLAB/51 1.4%
Flag time :  18715 0:00:56 user2 MATLAB/40 3.1%
Flag time :  11365 0:39:10 user1 MATLAB/54 6.2%
Flag time :  11365 0:44:18 user1 MATLAB/54 6.5%
Flag time :  10346 0:02:06 user3 MATLAB/41 1.5%
Flag time :  10346 0:03:06 user3 MATLAB/41 1.1%
Flag time :  10346 0:05:35 user3 MATLAB/42 6.1%
Flag time :  10346 0:10:34 user3 MATLAB/42 6.2%
Flag time :  10346 0:15:35 user3 MATLAB/42 6.3%
Flag time :  10346 0:20:35 user3 MATLAB/42 6.3%
Flag time :  10346 0:25:35 user3 MATLAB/42 6.2%
Flag time :  10346 0:30:36 user3 MATLAB/42 6.2%
Flag time :  10346 0:35:35 user3 MATLAB/42 6.2%
Flag time :  10346 0:39:45 user3 MATLAB/42 1.8%
Flag time :  10346 0:40:39 user3 MATLAB/42 1.1%
Flag time :  10346 0:41:33 user3 MATLAB/42 1.1%
Flag time :  10346 0:42:27 user3 MATLAB/42 1.1%
Flag time :  10346 0:43:21 user3 MATLAB/42 1.1%
Je sais je suis toujours sur le script de mon post précédent mais le problème est différent

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
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
use strict;
use warnings;
 
open (F, 'MATLAB_2011_04_v2.log');
my @t = <F>;
close (F);
 
#mise en forme 
my @out;
foreach my $line (@t) {
# 	print "Flag Line : $line\n";
	my @col=split (/\s+/,$line);
	my $pid=$col[3];
	next if !defined $pid;
	my @time=split (/:/,$col[4]);
	my $login=$col[5];
# 	print "Flag Time : $time[0] $time[1] $time[2]\n";
  	my $sec= ($time[0]*3600  + $time[1]*60  + $time[2]);
	@out=(@out,"PID: $pid Temps: $sec Login: $login \n");
}
 
sort @out;
print "@out\n";
J'aimerais que ce script me sorte le temps max pour chaque PID, et non pas les colonnes triée ce qui est le cas actuellement.

Documentation lue :

http://articles.mongueurs.net/magazines/linuxmag48.html
http://www.hobbesworld.com/perl/tableaux.php
http://articles.mongueurs.net/traduc...an-rosler.html

Désolé mais là je n'y arrive pas ....
Merci de votre aide.