Try to use this way,

use strict;
my $percent=90;
my @df;

open(DFOUT, "df -k|");
while (<DFOUT>) {
       next if /Filesystem/i;
       my ($free) = /(\d+)%/;
       if ( $free >= $percent ) {
               push(@df, $_);
       }
}
close DFOUT;

print "@df";



2007/8/30, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
>
>
> Hi,
>
>
> I'm a perl newbie and would like to ask this question here.
>
> Let's say I have the following code. Trying to check the disk space,
> it's to truncate the percent sign % from the df -k output, compare the
> percentage field to see if it's bigger than 90%, and grasp only those
> lines that are and push those to an array @df. But how can I add the
> percentage sign back to the percentage field on each line for the
> proper output? I put down ??????? as below to find out what regexp
> needs to be there in the below.
>
>
> $percent=90;
>
> open(DFOUT, "/usr/bin/df -k|");
> while (<DFOUT>) {
>         next if ($_ =~ /Filesystem/i);
>         s/\%//;            # to remove the percent sign for
> comparison
>         if ( (split)[4] >= $percent ) {
>                 ???????
>                 push(@df, $_);
>         }
> }
>
>
> print "@dfoutput\n";
>
> I appreciate your help very much!
>
> Thank you.
>
>
> - Bok
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/
>
>
>

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to