in reply to Trouble with understanding code

use 5.005
means the script requires 5.005 or better.

use integer
is a pragma. It doesn't mean that all variables are integers, but it's a directive that instructs perl's arithmetic and comparison operators to pretend they're working on integers.

use Getopt::Std
tells perl to use the Getopt::Std module.

If you're learning perl, it would be a great idea to get familiar with perldoc. just type 'perldoc Getopt::Std' for modules you see or 'perldoc -f split' for functions.