package MyApp; use Moose; with 'MooseX::Getopt'; has 'extension' => ( traits => ['Getopt'], is => 'rw', isa => 'Str', cmd_aliases => 'b', documentation => 'Short description of extension' ); has 'liste_snp' => ( traits => ['Getopt'], is => 'rw', isa => 'Str', cmd_aliases => 'l' ); has 'min_snp_per_cds' => ( traits => ['Getopt'], is => 'rw', isa => 'Bool', cmd_aliases => 's', default => 1 ); has 'liste_geno' => ( traits => ['Getopt'], is => 'rw', isa => 'Str', cmd_aliases => 'g' ); has 'reference_cds_fasta' => ( traits => ['Getopt'], is => 'rw', isa => 'Str', cmd_aliases => 'r' ); has 'prefixe' => ( traits => ['Getopt'], is => 'rw', isa => 'Str', cmd_aliases => 'p' ); has 'min_read_classe' => ( traits => ['Getopt'], is => 'rw', isa => 'Int', cmd_aliases => 'mc', default => 30 ); has 'max_read_per_cent_ambi' => ( traits => ['Getopt'], is => 'rw', isa => 'Num', cmd_aliases => 'a', default => 1 ); sub print_options { my $self = shift; my $bam = $self->extension // 'undefined'; my $liste_snp = $self->liste_snp // 'undefined'; my $min_snp_cds = $self->min_snp_per_cds // 'undefined'; my $list_geno = $self->liste_geno // 'undefined'; my $ref_cds = $self->reference_cds_fasta // 'undefined'; my $prefixe = $self->prefixe // 'undefined'; my $seuil_min_classe = $self->min_read_classe // 'undefined'; my $seuil_max_amb = $self->max_read_per_cent_ambi // 'undefined'; print "extension: $bam\n"; print "liste_snp: $liste_snp\n"; print "min_snp_per_cds: $min_snp_cds\n"; print "list_geno: $list_geno\n"; print "reference_cds_fasta: $ref_cds\n"; print "prefixe: $prefixe\n"; print "min_read_classe: $seuil_min_classe\n"; print "max_read_per_cent_ambi: $seuil_max_amb\n"; } 1; #### #!/usr/bin/env perl use MyApp; my $app = MyApp->new_with_options(); $app->print_options; # ... rest of the script here exit; #### extension: undefined liste_snp: undefined min_snp_per_cds: 1 list_geno: undefined reference_cds_fasta: undefined prefixe: undefined min_read_classe: 30 max_read_per_cent_ambi: 1 #### extension: myext liste_snp: undefined min_snp_per_cds: 1 list_geno: undefined reference_cds_fasta: undefined prefixe: undefined min_read_classe: 40 max_read_per_cent_ambi: 1 #### usage: runapp.pl [-?abghlprs] [long options...] -h -? --usage --help Prints this usage information. -b STR --extension STR Short description of extension -l STR --liste_snp STR -s --min_snp_per_cds -g STR --liste_geno STR -r STR --reference_cds_fasta STR -p STR --prefixe STR --mc INT --min_read_classe INT -a NUM --max_read_per_cent_ambi NUM