Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    5

    Come lo posso migliorare?

    Ho scritto questo programmino che mi serve per poter masterizzare file mpc usando gnome toaster.

    Praticamente gli passo il file mpc e lui mi restituisce la scritta "Playback length: xxm:yys" ... come fa ogginfo per i file ogg.
    Con gnome toster leggo la scritta e masterizzo.
    Per leggere xxm:yys (insomma la lunghezza del file musicale) chiamo il comando mppdec inviando l'output su /dev/null. Lo STDERR lo 'dirotto' invece su un file temporaneo che leggo e poi scancello.
    Lo script funziona ma mi chiedevo ... non si può inviare direttamente lo STDERR in una variabile?
    Ho cercato un po' su internet ma non sono riuscito a trovare nulla.
    Ciao.
    Muke.

    #!/usr/bin/perl

    $nome_file=$ARGV[0];
    open(STDERR, ">appoggio");
    system ("mppdec","$nome_file","/dev/null");
    open(appoggio,"<appoggio");
    @appoggio=<appoggio>;
    foreach $appoggio(@appoggio) {
    $messaggistderr=$messaggistderr.$appoggio;
    }
    close (appoggio);
    unlink (appoggio);
    $messaggistderr =~ /(..)\:(..)\.(.)/;
    print 'Playback length:',$1,'m:',$2,'s',"\n";
    Per avere cose mai avute, bisogna fare cose mai fatte!!

  2. #2
    Ciao,

    lo STDIN lo STDERR e lo STDOUT sono tre filehandle precostituiti automaticamente da Perl. se vuoi catturare gli errori senza interrompere il programma guarda la funzione warn.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    5
    Ciao Shishii.
    Grazie per la risposta.
    Ho guardato per la funzione warn ma non ho capito molto ... lo script comunque funziona e lo posso usare così
    Mi chiedevo solo se c'era un metodo + veloce per non dover appoggiare lo STDERR su un file temporaneo che leggo e poi distruggo...
    Ciao.
    Muke.
    Per avere cose mai avute, bisogna fare cose mai fatte!!

  4. #4
    La funzione warn serve proprio a catturare lo STDERR
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.