Voici mon script

use POSIX qw(strftime);
$Time = strftime "%Y%m%d", localtime;

while (<>) {
undef @free;
chomp;
if ( /System information for \\\\(.*)\:/ ) {
$host = $1;
}

if ( /Fixed/ ) {
push @free, split ();
} else {
next;
}

$Volume = $free[0];
$Type = $free[1];
$Format = $free[2];

if ( $#free == 7 ) {
$Size = "$free[3] $free[4]";
$Frees = "$free[5] $free[6]";
$Freep =$free[7];
}

if ( $#free == 8 ) {
$Label = $free[3];
$Size = "$free[4] $free[5]";
$Frees = "$free[6] $free[7]";
$Freep =$free[8];
}

write STDOUT;

}

format STDOUT_TOP =
@<<<<<<<;@<<<<<<<<<;@<<;@<<<<<<<<;@>>>>>>>;@>>>>>>;@>>>>
Date, Hostname, Volume, Label, Size, Frees, Freep
.

format STDOUT =
@<<<<<<<;@<<<<<<<<<;@<<;@<<<<<<<<;@>>>>>>>;@>>>>>>;@>>>>
$Time, $host, $Volume, $Label, $Size, $Frees, $Freep


J'aimerai modifier le format de sortie afin d'avoir quelque chose comme ceci:
la date en haut
puis le nom du serveur
et pour chaque serveur les infos disques

j'ai tenté un foreach mais je ne connais pas vraiment le fonctionnement de perl

merci de votre aide