Grazie ragazzi mi ero scordato del post...
Si credo che alla fine mi dovrò fare un controllino con my $pagato = $_[0]; print $pagato;.
Se usi il moduli strict e sei riuscito ad eseguire lo script allora la variabile esiste. Però può essere definita o non definita.
Si programmo sempre con strict ho inziato con tutorial che consigliavano questa cosa e ho sempre fatto così. In realtà uso un framework che utilizza mod_perl semplificandomi molto l'integrazione anche con pagine complesse.
In effetti credo che con my $pagato = $_[0]; (esista o meno $_[0]) la variabile $pagato per qualche motivo che ignoro sia non falsa.
codice:
sub funzionemia {
my $pagato; # uso strict
$_[0] ? $pagato = '1' : $pagato = '0';
# sql + dbi
# etc etc
}
oppure meglio ancora
codice:
sub funzionemia {
my $pagato; # uso strict
defined($_[0]) ? $pagato = '1' : $pagato = '0';
# sql + dbi
# etc etc
}