J'ai créé un fichier argument.pl qui prend plusieurs arguments dont le premier devrait être sous la forme d'une année Par exemple: 2010 23 type
. Ici 2010 est une annéeComment identifier un argument comme une année en Perl?
mon code fait quelque chose comme:
use strict;
use warning
use Date::Calc qw(:all);
my ($startyear, $startmonth, $startday) = Today();
my $weekofyear = (Week_of_Year ($startyear,$startmonth,$startday))[0];
my $Year = $startyear;
...
...
if ($ARGV[0])
{
$Year = $ARGV[0];
}
Ici ce code remplit $Year
avec « année courante » si $ARGV[0]
est nul ou n'existe pas. Que dois-je utiliser ici au lieu de if ($ARGV[0])
?
Est-il possible de vérifier que la valeur dans $ARGV[0]
est une année valide (comme 2010, 1976,1999 etc.)?
Il n'y a pas de bonne réponse à cette question. Tout nombre entier sauf 0 est une année valide dans le calendrier grégorien/julien. Ce que vous voulez probablement, c'est savoir si cette année est dans une certaine fourchette. –
Pour fournir une bonne vérification, vous devez ajouter des informations spécifiques au domaine. Quelles plages d'années sont valables pour votre problème? Est-ce que cela doit être dans un certain calendrier, ou voulez-vous autoriser les calendriers hébreu, musulman ou chinois? Autrement dit, une année valide est exactement ce que vous dites. –