Pb de recherche dans un fichier - Perl - Programmation
Marsh Posté le 30-04-2004 à 15:40:31
1- les balises cpp caibien!
2- pourquoi avoir fait un nouveau topic au lieu de continuer le précédent?
3- Pourquoi ne pas avoir fait comme on t'avait dit?
4- ta regex c'est vraiment n'importe quoi...
Marsh Posté le 30-04-2004 à 17:50:43
5- les stages c'est fait pour apprendre à etre un peu autonome
Marsh Posté le 30-04-2004 à 17:58:30
bah oui mais quand on est bloqué sa autant compter sur les autres.
Moi je pensais que la tribu perl était une tribu solidaire mais apparement je me trompe.
Tant sa aurait tellement été mieux
salut
@+ peut etre
Marsh Posté le 30-04-2004 à 18:02:03
c'est pas le premier topic avec la meme question (cf points 2 et 3 d'anapajari)
De plus je ne pense pas que ce soit aider kk1 que de lui donner la solution à chaque petit probleme (pour un stage en tous cas)!
loothoof le dit lui meme: il débute totalement en Perl, donc la premiere etape c'est de lire les differents tutoriels et/ou bouqins sur le sujet
Dans ce genre de question si on veut aider la personne il faut d'abord essayer de comprendre le boulot k'on lui demande...
Marsh Posté le 30-04-2004 à 15:33:34
Bonjour à tous.
Je suis en stage et je dois programmer en perl qui est tout nouveaux pour moi.
Mon probleme etant le suivant:
J'ai n fichier qui ressemble à sa:
Rapport sur la mesure du parc
Adresse Mac | Switch | Vlan | Port | | | | |
----------------------------------------------------------------------------------------------------------------------
00xxxxxxxxxx | switch-N1-1 | 1 | 13
0000xxxxxxxx | switch-N1-1 | 1 | 23
000xxxxxxxxx | switch-N1-1 | 1 | 23
Il faut que j'effeectue une recherche dans ce fichier:
Il faut que je retoutrne la ligne du port 13 si je choisi le port 13 etc...
Voici mon code mais il ne marche pas:
while(<LIRE> )
{
$A=/(.*)(.*)(.*)\|(.*)(.*)(.*)\|(.*)(.*)(.*)\|(.*)(.*)(.*)\|(.*)(.*)/;
if($Type_Recherche[@type[0]] eq "Mac adresse" )
{
if($2 eq "$saisie" )
{
$sw_texte_aff->insert('end',$_);
}
}
if($Type_Recherche[@type[0]] eq "Switch" )
{
if($5 eq "$saisie" )
{
$sw_texte_aff->insert('end',$_);
}
}
if($Type_Recherche[@type[0]] eq "Vlan" )
{
if($8 eq "$saisie" )
{
$sw_texte_aff->insert('end',$_);
}
}
if($Type_Recherche[@type[0]] eq "Port" )
{
if($11 eq "$saisie" )
{
$sw_texte_aff->insert('end',$_);
}
}
}
close(LIRE);
A mon avis l'erreur vien de cette ligne:
$A=/(.*)(.*)(.*)\|(.*)(.*)(.*)\|(.*)(.*)(.*)\|(.*)(.*)(.*)\|(.*)(.*)/;
Il faudrai trouver une technique pour n'avoir dans les variables que ce qui nous interesse et pas les blancs.
Quelqu'un c comment faire?