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 :

[FICHIER]redirection éventuelle dans un fichier.


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut [FICHIER]redirection éventuelle dans un fichier.
    Bonjour tout le monde,
    A la fin de mon script, j'imprime plusieurs lignes dans un fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -w toto.pl FICHIER_OU_ECRIRE
    J'aimerais que dans le cas où je tape
    l'impression soit redirigé vers la sortie standard.
    Ca va donner à peu pres ça mais ce que j'ai écrit ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (defined($ARGV0])){
      open FILE ,"+>$ARGV[0]";
     
      }
      else {
      FILE=<STDOUT>
      }
    SI vous avez des idées je suis preneur.

    Merci bien et bon long week end à tous.

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(@ARGV){
      open FILE, '>', $ARGV[0] 
        or die "Can't open $ARGV[0] : $!\n"; 
    } else {
      open FILE, '>&', \*STDOUT
        or die "Can't reopen STDOUT : $!\n"; 
    }
    (Tu avais un "+>", mais comme de toute façon ouvrir en lecture/écriture STDOUT n'a pas beaucoup de sens, j'ai assumé que tu n'aurais besoin que d'écrire dans ce fichier)

    J'ai employé ici la manière générale de faire lorsque l'on veut dup()liquer un descripteur de fichier, mais pour STDOUT en particulier, une façon plus idiomatique de faire est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(@ARGV){
      open FILE, '>', $ARGV[0] 
        or die "Can't open $ARGV[0] : $!\n"; 
    } else {
      open FILE, '>-'
        or die "Can't reopen STDOUT : $!\n"; 
    }
    Bonne continuation. Et n'oublie pas de consulter la doc la prochaine fois, tout ceci est exposé dans la doc sur la fonction "open".

    --
    Jedaï

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut
    Merci bien Jedai.
    J'ai lu plein de docs mais pas celle là. Désolé.
    J'yretourne et la prochaine fois, je regarde toutes les docs 3 fois .

    Bonne journée

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

Discussions similaires

  1. Redirection awk dans un fichier
    Par eDenMax dans le forum Shell et commandes GNU
    Réponses: 19
    Dernier message: 05/05/2015, 11h59
  2. Recherche dans un fichier impossible enregistré dans un fichier
    Par cdjkhdjlhxjklnjskznj dans le forum Langage
    Réponses: 19
    Dernier message: 03/12/2014, 00h09
  3. ajax et redirection declarée dans le fichier php
    Par misakilou dans le forum jQuery
    Réponses: 6
    Dernier message: 12/05/2011, 15h23
  4. Réponses: 3
    Dernier message: 20/09/2006, 11h05
  5. Un fichier son intégré dans un fichier save
    Par jmdeffet dans le forum Langage
    Réponses: 11
    Dernier message: 23/05/2005, 16h46

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