OVH Cloud OVH Cloud

a l'aide perl

6 réponses
Avatar
qpj
Bonjour,

Au secour.
povez-vous m'aider à transformer les deux exemple de scripts ksh en perl
merci par avance

Exemple 1 :
#!/usr/bin/ksh
prd_script=`/usr/bin/basename $0`
# fonction usage
_usage_()
{
echo « $prd_script $PARM »
}
# verification nombre parametre
if test $# -ne 1
then
_usage_
cr=1
return $cr
exit $cr
fi
# verification si le nom du parametre est declare dans /etc/appli.parm
OPTION=$1
PARM=`cat /ets/appli.parm | grep -v '#' | grep $OPTION | tr -s «» |
cut -d':' -f2`
if test -z "$PARM"
then
echo "$OPTION n est pas declare dans /etc/appli.parm"
cr=1
return $cr
exti $cr
fi
# verification si appli est demarre et est accessible
/usr/local/bin/verif_$PARM.ksh $PARM
cr=$?
if test $cr -eq 1
then
echo "l appli appli_$PARM n est pas demarre"
return $cr
exit $cr
else
if test "$cr" -eq 2
then
echo "l appli appli_$PARM n est pas accessible »
return $cr
exit $cr
fi
fi
# traitement
/usr/local/bin/appli_$PARM.ksh $PARM

Exemple 2 :
# fonction usage
_usage_()
{
echo « /usr/local/bin/appli_$PARM.ksh $PARM »
}
# verification nombre parametre
if test $# -ne 1
then
_usage_
cr=1
return $cr
exit $cr
fi
# declaration options
while getopts b:t:p:s: _options_ $*
do
case $_options_ in
d) _dflag_='1' _dval_ = "$OPTARG";;
t) _tflag_='1' _tval_ = "$OPTARG";;
p) _pflag_='1' _pval_ = "$OPTARG";;
s) _sflag_='1' _sval_ = "$OPTARG";;
*) cr='1'
return $cr
_usage_
exit $cr
esac
done

qpj

6 réponses

Avatar
Denis -esp2008-
Bonjour,

povez-vous m'aider à transformer les deux exemple de scripts ksh en perl


Pour apprendre rapidement la syntaxe de perl :
http://www.enstimac.fr/Perl/DocFr/perlsyn.html

A priori les programmes exemples que j'ai vus devraient se transformer en
ajoutant des accolades et des $ où il faut, mais il ne faut pas hésiter
à soumettre ici les problèmes rencontrés lors de la tentative de
traduction.

Bonne chance,

--
Denis

Avatar
Antoine Dinimant
'connais rien au ksh (en fait je ne sais même pas ce que c'est... un
shell Unix de plus ?) mais si tu décris ce que ça doit faire ligne par
ligne, ça se tente !
Avatar
qpj
bonjour,
en fait, je veux faire un script :
- toto.pl -b <parm1> -t <parm2> -p <parm3> -s <parm4>
1/ teste du nombre d'options et d'arguments
2/ teste de l'existante de la variable parm2 dans un fichier de config
(parm2 est declare dans appli.cfg)
3/ si parm2 n'existe pas dans appli.cfg, on sort exit1, et affichage message
erreur.
4/ si test ok, appel d'un programme en lui sousmettant les parametres :
APPLI parm1 parm2 parm3 parm4
5/ et on verife le resultat du programme APPLI.
merci par avance


"Antoine Dinimant" a écrit dans le message de news:

'connais rien au ksh (en fait je ne sais même pas ce que c'est... un
shell Unix de plus ?) mais si tu décris ce que ça doit faire ligne par
ligne, ça se tente !



Avatar
Antoine Dinimant
qq questions :


- tu sors si ton nb de paramètres est différent de 1. Pourtant, tu dis
vouloir 4 paramètres ?

- je ne connais pas gd-chose à UNIX... quels sont les différents rôles
de echo et exit par rapport à return ?

- $0 est bien le nom du script courant ? que te donne alors
`/usr/bin/basename $0` ? basename n'est-il pas censé te donner le nom de
fichier sans le chemin, donc la même chose ?
Avatar
Laurent Wacrenier
qpj écrit:
povez-vous m'aider à transformer les deux exemple de scripts ksh en perl
merci par avance

cr=1
return $cr
exit $cr


C'est un défi au bon sens ?

Avatar
Antoine Dinimant
Laurent Wacrenier a écrit:
qpj écrit:

povez-vous m'aider à transformer les deux exemple de scripts ksh en perl
merci par avance



cr=1
return $cr
exit $cr



C'est un défi au bon sens ?


ah, je me disais bien que c'était bizarre...