Ao desenvolver aplicações de linha de comando é típico querermos analisar que opções foram passadas para a aplicação para activar ou desactivar determinadas funcionalidades.
Embora exista uma centena de módulos no
namespace Getopt para o tratamento de opções de linha de comando (dos quais destaco o
Getopt::WonderBra, apenas pelo seu nome), o
Perl tem a capacidade de tratar opções básicas sem a instalação de qualquer módulo. Para isso basta usar a opção -s do Perl que automaticamente transforma qualquer opção da forma -xyz na linha de comando numa variável $xyz, e as opções da forma -foo=bar numa variável $foo com o valor "var".
Para dar um exemplo, imaginemos uma aplicação que deva suportar a opção -v, para activar o modo verboso, e a opção -user para especificar o nome do utilizador (caso contrário utilizará a variável de ambiente USER):
#!/usr/bin/perl -s
use strict;
use warnings;
our ($user, $v);
if ($v) { print "Activei modo verboso\n"; }
$user = $user || $ENV{USER};
printf("Activado o utilizador $user");
Ora, o
our é utilizado para definir variáveis globais. É boa política definir as variáveis que se pretendem utilizar com a opção -s para que, ao usar as opções
strict e
warnings o Perl não se queixe de variáveis não definidas.