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/