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 :

Cygwin & chemin de fichier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 452
    Par défaut Cygwin & chemin de fichier
    Bonjour,
    J'utilise très peux Cygwin, j'ai un pb lors de l'ouverture lorsque le chemin comporte des /

    PB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    use strict;
    use warnings;
    use utf8;
     
    my $FileEnv = '/home/Michel/perl/env_perso';
    #my $FileEnv = "env_perso";
    my $Fh;
     
    open($Fh,'<:utf8', $FileEnv)
            or die Ano("Erreur ouverture fichier environnement : $FileEnv : \n\t $! \n");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Michel@MiDo ~/perl
    $ ll
    total 2.0K
    -rw-r--r-- 1 Michel None 431 Aug  3 08:03 env.pl
    -rw-r--r-- 1 Michel None 440 Aug  3 03:52 env_perso
     
    Michel@MiDo ~/perl
    $
     
    Michel@MiDo ~/perl
    $ perl env.pl
    Undefined subroutine &main::Ano called at env.pl line 9.
    OK :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    use strict;
    use warnings;
    use utf8;
     
    #my $FileEnv = '/home/Michel/perl/env_perso';
    my $FileEnv = "env_perso";
    my $Fh;
     
    open($Fh,'<:utf8', $FileEnv)
            or die Ano("Erreur ouverture fichier environnement : $FileEnv : \n\t $! \n");
     
    while ( my $ligne = <$Fh> ) {
            last if ($ligne =~ /^#/);
            my @Elem = split (/ /, $ligne);
            my ($Var, $Valeur) = split (/=/, $Elem[1]);
            $ENV{$Var} = $Valeur;
    }
     
    print "$ENV{ORACLE_SID}\n";
     
    close $Fh;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Michel@MiDo ~/perl
    $ perl env.pl
    bsiR
    J'ai essayé les "" \ // et Cie... rien n'y fait !
    Y a-t-il un truc ?

    [EDIT 08:15] visiblement, il utilise le Perl du Win7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Michel@MiDo ~/perl
    $ perl -v
     
    This is perl 5, version 24, subversion 0 (v5.24.0) built for MSWin32-x64-multi-thread
    MERCI d'avance !

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Je n'utilise quasiment que cygwin/perl (sauf avec Tk qui est mal supporté en mode debug et avec Win32::* qui bugue).
    Par contre, la version que tu lances n'est pas la bonne.
    Pourrais-tu taper les commandes suivantes dans un bash de Cygwin :
    Et liste le contenu des fichiers ~/.bashrc et ~/.bash_profile

  3. #3
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je n'ai aucun problème pour utiliser des chemins avec des "/" sous Cygwin. Je ne peux pas te donner d'exemple maintenant parce que je n'ai pas de Cygwin au bureau, mais j'utilise fréquemment Cygwin chez moi sans aucun problème sur les chemins Unix.

    Et il ne faut pas commencer à mettre des "\" comme sous Windows, Cygwin fait le traduction des chemins en chemins de type Unix. Donc, uniquement des chemins purement Unix.

    Cela dit, je ne comprends pas bien ton problème. Qu'est-ce que tu n'arrives pas à faire exactement?

  4. #4
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 452
    Par défaut
    @Philou67430

    $PATH :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Michel@MiDo ~
    $ echo $PATH
    /usr/local/bin:/usr/bin:/cygdrive/c/Program Files/ImageMagick-6.9.1-Q16:/cygdrive/c/ProgramData/Oracle/Java/javapath:/cygdrive/c/Strawberry/c/bin:/cygdrive/c/Strawberry/perl/site/bin:/cygdrive/c/Strawberry/perl/bin:/cygdrive/c/Cygwin/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Program Files (x86)/IDM Computer Solutions/UltraEdit:/cygdrive/c/Program Files/gs/gs9.15/bin:/cygdrive/c/Program Files (x86)/Balabolka:/cygdrive/c/oraclexe/app/oracle/product/11.2.0/server/bin:/cygdrive/c/Program Files/WIDCOMM/Bluetooth Software:/cygdrive/c/Program Files/WIDCOMM/Bluetooth Software/syswow64:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/Sony/VAIO Startup Setting Tool:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Lexique/Apps/bin:/cygdrive/c/Program Files/ImageMagick-6.9.1-Q16:C:/Program Files (x86)/IDM Computer Solutions/UltraEdit:/cygdrive/c/Program Files (x86)/Balabolka: C:/Java/jdk1.7.0/bin:/ORACLE/product/7.3/bin
     
    Michel@MiDo ~
    $
    Je crois que j'ai compris, j'ai Strawberry (que j'ai passé en v24 il y a qq jours) AVANT Cygwin...
    [EDIT] NON il manque UN : :/cygdrive/c/Program Files/ImageMagick-6.9.1-Q16:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Michel@MiDo ~
    $ type perl
    perl is /cygdrive/c/Strawberry/perl/bin/perl
    @Lolo78 :
    Et il ne faut pas commencer à mettre des "\" comme sous Windows, Cygwin fait le traduction des chemins en chemins de type Unix. Donc, uniquement des chemins purement Unix.
    Oui, c'est seulement quand j'ai vu que ça ne fonctionnait pas que j'ai TOUT essayé...

    Sinon juste ouvrir/lire un fichier dont le nom contient des /



    [EDIT]
    .bash_profile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    # To the extent possible under law, the author(s) have dedicated all
    # copyright and related and neighboring rights to this software to the
    # public domain worldwide. This software is distributed without any warranty.
    # You should have received a copy of the CC0 Public Domain Dedication along
    # with this software.
    # If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
     
    # base-files version 4.2-4
     
    # ~/.bash_profile: executed by bash(1) for login shells.
     
    # The latest version as installed by the Cygwin Setup program can
    # always be found at /etc/defaults/etc/skel/.bash_profile
     
    # Modifying /etc/skel/.bash_profile directly will prevent
    # setup from updating it.
     
    # The copy in your home directory (~/.bash_profile) is yours, please
    # feel free to customise it to create a shell
    # environment to your liking.  If you feel a change
    # would be benifitial to all, please feel free to send
    # a patch to the cygwin mailing list.
     
    # User dependent .bash_profile file
     
    # source the users bashrc if it exists
    if [ -f "${HOME}/.bashrc" ] ; then
      source "${HOME}/.bashrc"
    fi
     
    # Set PATH so it includes user's private bin if it exists
    # if [ -d "${HOME}/bin" ] ; then
    #   PATH="${HOME}/bin:${PATH}"
    # fi
     
    # Set MANPATH so it includes users' private man if it exists
    # if [ -d "${HOME}/man" ]; then
    #   MANPATH="${HOME}/man:${MANPATH}"
    # fi
     
    # Set INFOPATH so it includes users' private info if it exists
    # if [ -d "${HOME}/info" ]; then
    #   INFOPATH="${HOME}/info:${INFOPATH}"
    # fi
    J'ai juste dé-commenté les alias le reste est en commentaire
    .bashrc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # Some shortcuts for different directory listings
    alias ls='ls -hF --color=tty'                 # classify files in colour
    alias dir='ls --color=auto --format=vertical'
    alias vdir='ls --color=auto --format=long'
    alias ll='ls -l'                              # long list
    alias la='ls -A'                              # all but . and ..
    alias l='ls -CF'                              #

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Bizarre que perl soit haché dans strawberry, car dans ton $PATH, /usr/bin est avant le chemin de Strawberry, mais à priori, ton problème est là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ type perl
    perl is /cygdrive/c/Strawberry/perl/bin/perl
    Tu devrais avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ type perl
    perl est haché (/usr/bin/perl)
    Tu confirmes que tu as résolu le pb ?

  6. #6
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 452
    Par défaut
    Affirmatif, c'est bien mon PATH qui est vérolé !

    MERCI à vous deux !

  7. #7
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Je profite d'ailleurs du sujet pour indiquer que les chemins "Unix" (avec /) sont utilisables aussi avec Strawberry perl, ainsi que les chemins réseaux UNC avec des / au lieu des \ (exemple : //serveur/chemin).

  8. #8
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 452
    Par défaut
    OUI merci !

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

Discussions similaires

  1. récuperation de chemin de fichiers !!!
    Par massiliaman dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/07/2007, 18h17
  2. [MFC]Problème de chemin de fichier
    Par benahpets dans le forum MFC
    Réponses: 3
    Dernier message: 06/09/2005, 13h07
  3. Chemin du fichier css
    Par dreamanoir dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/07/2005, 16h49
  4. Réponses: 3
    Dernier message: 21/06/2005, 16h18
  5. [SAX] Chemin du fichier XML
    Par mikemikemike dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 25/11/2004, 15h04

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