#!/usr/bin/env perl use strict; use warnings; use Getopt::Long; use Pod::Usage; use Data::Dump; my %options; # Getopt::Long::Configure("no_ignore_case"); # perhaps you need it... GetOptions( \%options, "device=i" ); pod2usage( -exitstatus => 0, -verbose => 2 ) unless defined $options{device}; dd \%options; # stuff... __END__ =pod =head1 USAGE Something went wrong. =cut