IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Incompréhension entre " ne " et " !~ "


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut Incompréhension entre " ne " et " !~ "
    Bonjour (ça faisait une éternité que je n'étais plus passé ici )

    Je suis confronté à un soucis vraiment étrange.

    J'ai 2 fichiers textes dont le contenu est en apparence identique au caractère près. Toutes les lignes sont dans le même ordre.

    Si je compare ces deux fichiers dans un éditeur de texte (TextPad pour ne pas le nommer), le résultat donné est que les deux fichiers sont identiques.

    Si, via un script Perl basique, je demande à comparer chaque ligne via un if tout simple :
    if (ligne_fichier_1 ne ligne_fichier_2) { print "ERREUR"; }
    Jamais le script ne tombe sur ce cas là.

    Par contre, si j'ai ceci dans mon script Perl :
    if (ligne_fichier_1 !~ /^ligne_fichier_2$/) { print "ERREUR"; }
    Le script me dit que les deux lignes sont en ERREUR car différentes !

    Quelqu'un pourrait m'expliquer ?

    Le fait est que chacun de ces fichiers passe dans un programme qui produit des données à partir de ces fichiers. L'un des deux fichiers passe correctement, le second fait planter l'application.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Arioch le retour , c'est un plaisir de te relire !!

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Citation Envoyé par djibril Voir le message
    Arioch le retour , c'est un plaisir de te relire !!
    Merci djibril

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    N'est ce pas un souci de retour chariot ?

    Essaye ceci sur les deux fichiers et refait tes tests (tes fichiers originaux seront sauvegardés en .bak).

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    perl -pi.bak -e "s/\r?\n/\n/" fichier1
    perl -pi.bak -e "s/\r?\n/\n/" fichier2

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Merci djibril, tu as trouvé la réponse

    En fait, l'un des deux txt est enregistré au format UNIX tandis que l'autre est au format PC.

    Ton astuce fait fonctionner correctement le fichier UNIX (converti en PC) dans l'application.

    C'est donc l'application (multiplateformes pourtant !) qui est en cause.

    Je passe le post en résolu, encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo