in reply to Newbee to Perl and the error

Welcome to Perl Monks and welcome to Perl!

I think you forget a "{" here:

if ($FSUSED >= 90) $FSUSED = "*$FSUSED*"; }

Also, it would be wise to get in the habit of using use strict; use warnings at the top of every script. Although it wouldn't have done anything to help you find this particular bug, it will over time save you much grief. With apologies to Dr. Seuss, here is why The strictures, according to Seuss.

It is also a very good idea to declare your variables using my or our so Perl can help you identify typos in variable names and control whether or not the variable is visable to scripts and modules other than the current one. In fact, had you used strict and warnings you would have have gotten a host of complaints about undefined variables, like this:

Global symbol "$SYS_NAME" requires explicit package name at Monks/Down +load.pm line 4. Global symbol "$SYS_NAME" requires explicit package name at Monks/Down +load.pm line 6. Global symbol "$SYS_TYPE" requires explicit package name at Monks/Down +load.pm line 7. Global symbol "$FILE" requires explicit package name at Monks/Download +.pm line 8. Global symbol "$SYS_NAME" requires explicit package name at Monks/Down +load.pm line 10. Global symbol "$SYS_TYPE" requires explicit package name at Monks/Down +load.pm line 11. Global symbol "$FILE" requires explicit package name at Monks/Download +.pm line 12. Global symbol "$SYS_NAME" requires explicit package name at Monks/Down +load.pm line 14. Global symbol "$SYS_TYPE" requires explicit package name at Monks/Down +load.pm line 15. Global symbol "$FILE" requires explicit package name at Monks/Download +.pm line 16. Global symbol "$SYS_NAME" requires explicit package name at Monks/Down +load.pm line 19. Global symbol "$FILE" requires explicit package name at Monks/Download +.pm line 23. Global symbol "$FILE" requires explicit package name at Monks/Download +.pm line 23. Global symbol "$SYS_TYPE" requires explicit package name at Monks/Down +load.pm line 29. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 30. Global symbol "$BLOCKS" requires explicit package name at Monks/Downlo +ad.pm line 30. Global symbol "$FSFREE" requires explicit package name at Monks/Downlo +ad.pm line 30. Global symbol "$FSUSED" requires explicit package name at Monks/Downlo +ad.pm line 30. Global symbol "$IUSED" requires explicit package name at Monks/Downloa +d.pm line 30. Global symbol "$PIUSED" requires explicit package name at Monks/Downlo +ad.pm line 30. Global symbol "$MOUNT" requires explicit package name at Monks/Downloa +d.pm line 30. Global symbol "$FSUSED" requires explicit package name at Monks/Downlo +ad.pm line 31. Global symbol "$PIUSED" requires explicit package name at Monks/Downlo +ad.pm line 32. Global symbol "$MOUNT" requires explicit package name at Monks/Downloa +d.pm line 39. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 40. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 42. Global symbol "$FS1" requires explicit package name at Monks/Download. +pm line 43. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 43. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 43. Global symbol "$FS1" requires explicit package name at Monks/Download. +pm line 44. Global symbol "$FSUSED" requires explicit package name at Monks/Downlo +ad.pm line 46. Global symbol "$FSUSED" requires explicit package name at Monks/Downlo +ad.pm line 47. Global symbol "$FSUSED" requires explicit package name at Monks/Downlo +ad.pm line 47. Global symbol "$PIUSED" requires explicit package name at Monks/Downlo +ad.pm line 50. Global symbol "$PIUSED" requires explicit package name at Monks/Downlo +ad.pm line 51. Global symbol "$PIUSED" requires explicit package name at Monks/Downlo +ad.pm line 51. Global symbol "$BLOCKS" requires explicit package name at Monks/Downlo +ad.pm line 54. Global symbol "$BLOCKS" requires explicit package name at Monks/Downlo +ad.pm line 54. Global symbol "$FSFREE" requires explicit package name at Monks/Downlo +ad.pm line 55. Global symbol "$FSFREE" requires explicit package name at Monks/Downlo +ad.pm line 55. Global symbol "$FSFREE" requires explicit package name at Monks/Downlo +ad.pm line 55. Global symbol "$MOUNT" requires explicit package name at Monks/Downloa +d.pm line 57. Global symbol "$MOUNT" requires explicit package name at Monks/Downloa +d.pm line 57. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 57. Global symbol "$MOUNT" requires explicit package name at Monks/Downloa +d.pm line 58. Global symbol "$BLOCKS" requires explicit package name at Monks/Downlo +ad.pm line 58. Global symbol "$FSFREE" requires explicit package name at Monks/Downlo +ad.pm line 58. Global symbol "$FSUSED" requires explicit package name at Monks/Downlo +ad.pm line 58. Global symbol "$PIUSED" requires explicit package name at Monks/Downlo +ad.pm line 58. Global symbol "$FS" requires explicit package name at Monks/Download.p +m line 58. Execution of Monks/Download.pm aborted due to compilation errors.

Although all those warnings can be very annoying, they will help you learn good programming habits. The more you code, the fewer such warnings you will see. In this case the following few lines at the beginning of your program would have allowed your code to compile cleanly even under "use strict; use warnings".

use strict; use warnings; my $SYS_NAME; my $FILE; my $FS; my $FS1; my $FSUSED; my $PIUSED; my $FSFREE; my $MOUNT; my $SYS_TYPE; my $IUSED; ... rest of your code here...

A final note. Common programming convention is to reserve all capital variable names for constants. It is best to name normal working variables in lower case and/or mixed camel case, e.g.my $sys_name; my $file; or my $sysName; my $file and so forth.

Once again, welcome to Perl Monks and to Perl!