Este módulo facilita la creación de una interfaz para tu programa en la línea de comando, definiendo las diferentes opciones disponibles por medio de una letra y manejando su tratamiento. Lo mostraré mejor con un ejemplo:
#!/usr/bin/perl -w # program: example.pl # author: Bruno Contreras Moreira use strict; use Getopt::Std; my %opts; getopts('hsi:l:', \%opts); if(($opts{'h'})||(scalar(keys(%opts))==0)) { print "usage: progname.pl [options]\n"; print "-h \t this message\n"; print "-i \t input transcription file\n"; print "-s \t skip preprocessing (optional)\n"; print "-l \t oligo length (default 1, optional)\n\n"; exit; } if(!defined($opts{'i'})) { die "# need an input file\n"; } if(!defined($opts{'l'}) || ($opts{'l'} < 1) ) { $opts{'l'} = 1; } if(!defined($opts{'s'})) { $opts{'s'} = 0; } printf("# example.pl -i %s -s %s -l %d\n",$opts{'i'},$opts{'s'},$opts{'l'});
Si invocamos el programa
$ perl example.pl
nos muestra las opciones posibles.
Hay otra versión que admite nombres de los parámetros largos, Getopt::Long .
Bruno Contreras-Moreira