in reply to Options always prints 1

See the Options With Values section of the documentation.
GetOptions(\%options, 'msm=s')

Without the =s, "the option is considered boolean, a value of 1 will be assigned when the option is used on the command line."