in reply to "Getoptions'" argument syntax

The '=' in 'refresh=i' doesn't mean that 'refresh' is a mandatory option to the program. It means that, if 'refresh' is supplied, the *integer argument* is mandatory. So you can't just have
$ foo.pl --refresh
An argument to 'refresh' is mandatory.

I don't think there *is* a way to indicate that an option is mandatory (ie. that 'refresh' must be provided as an option).

And since 'refresh' may not be provided, the

$REFRESH = 10
sets the default value for 'refresh' to 10. And it can be overriden on the command line with '--refresh'.