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 :

Rediriger la sortie d'une commande dans un fichier


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Rediriger la sortie d'une commande dans un fichier
    Bonjour à tous,
    malgré mes recherches je ne trouve pas de solution à ce problème...bien qu'il doit être simple pour la plupart d'entrevous.

    Je dois rediriger la sortie d'une commande et l'écrire dans un fichier mais je bloque au moment de l'écriture.
    Je précise que le programme ne m'envoi aucune erreur mais me crée un fichier vide.

    Je travail sur Gentoo (je sais pas si c'est utile de le savoir mais au cas où)

    Voici le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    if ($res eq "o")
    {
    	for (my $nbmax = 0; $nbmax <= $max; $nbmax++)
    	{
    		print $nbmax.") ".$nb." x ".$nbmax." = ".$nb*$nbmax."\n";
    	}
    	my $value = <>;
     
    	open (FILE, ">>/home/user/Bureau/fichier.txt") or die ("Erreur d'écriture du fichier");
    	print FILE $value;
    	close (FILE);
    }
    Ma version de Perl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    perl -v
     
    This is perl 5, version 22, subversion 2 (v5.22.2) built for x86_64-linux
    (with 30 registered patches, see perl -V for more detail)
     
    Copyright 1987-2015, Larry Wall
     
    Perl may be copied only under the terms of either the Artistic License or the
    GNU General Public License, which may be found in the Perl 5 source kit.
     
    Complete documentation for Perl, including FAQ lists, should be found on
    this system using "man perl" or "perldoc perl".  If you have access to the
    Internet, point your browser at http://www.perl.org/, the Perl Home Page.
    Merci d'avance pour l'aide.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    J'ai trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if ($res eq "o")
    {
    	open (FILE, ">/home/user/Bureau/fichier.txt") or die ("Erreur d'écriture du fichier");
     
    	for (my $nbmax = 0; $nbmax <= $max; $nbmax++)
    	{
    		print FILE $nbmax.") ".$nb." x ".$nbmax." = ".$nb*$nbmax."\n";
    	}
     
    	close (FILE);
    }

  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
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Bon tu as résolu ton problème, tout va bien, mais ta syntaxe d'ouverture de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    open (FILE, ">/home/user/Bureau/fichier.txt") or die ("Erreur d'écriture du fichier");
    est quelque peu périmée. Voici la syntaxe préférée de nos jours pour ouvrir un fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    open my $FILE, ">", "/home/user/Bureau/fichier.txt" or die ("Erreur d'écriture du fichier");
    Et bien sûr utiliser $FILE au lieu de FILE dans la suite du programme.

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

Discussions similaires

  1. [Batch] Rediriger la sortie d'une commande vers une variable
    Par Merwyn dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 28/09/2012, 17h30
  2. insérer la sortie d'une commande dans un fichier
    Par ginger4957 dans le forum Shell et commandes GNU
    Réponses: 23
    Dernier message: 31/01/2011, 11h57
  3. Récupérer la sortie d'une commande dans page html
    Par shell13010 dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 19/04/2010, 18h13
  4. Réponses: 8
    Dernier message: 19/09/2007, 16h51
  5. Ecrire le résultat d'une commande dans un fichier de l' OS
    Par Labienus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/02/2004, 11h04

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