Visualizzazione dei risultati da 1 a 3 su 3

Discussione: signals su windows

  1. #1

    signals su windows

    Salve,

    ho uno script per che può girare sia su windows che su linux però all'inizio ho questa riga:
    codice:
    # Catch Signals
    #
    
    $SIG{"PIPE"} = $SIG{"KILL"} = $SIG{"QUIT"} = $SIG{"ABRT"} = $SIG{"INT"} = sub { print "-> Connection closed\n"; exit; };
    se eseguito da terminale su windows mi darà errore o ignorerà questa riga? come posso evitare di eseguire questa riga se sto su windows?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    268
    Non so se ho capito correttamente, cmq ho inserito la tua riga in un file pl, su windows, ho eseguito il file da e non mi ha dato errori, ha semplicemente eseguito le righe successiva. In ogni caso, la prima cosa che mi verrebbe in mente sarebbe di leggere la PATH:

    $ENV{'PATH'}

    se contiene la parola windos o no, ... è anche vero che la si può modificare ...

  3. #3
    beh, buone notizie...cmq ormai avevo risolto così:

    codice:
    my $OS = $^O;
    
    if ($OS =~ /^MSWin/i) {
      $OS = 'WINDOWS';
    } elsif ($OS =~ /^VMS/i) {
      $OS = 'VMS';
    } elsif ($OS =~ /^dos/i) {
      $OS = 'DOS';
    } elsif ($OS =~ /^MacOS/i) {
        $OS = 'MACINTOSH';
    } elsif ($OS =~ /^os2/i) {
        $OS = 'OS2';
    } elsif ($OS =~ /^epoc/i) {
        $OS = 'EPOC';
    } elsif ($OS =~ /^cygwin/i) {
        $OS = 'CYGWIN';
    } else {
        $OS = 'UNIX';
    }
    
    if ($OS ne 'WINDOWS')
    {
       $SIG{"PIPE"} = $SIG{"KILL"} = $SIG{"QUIT"} = $SIG{"ABRT"} = 
    $SIG{"INT"} = sub { print "-> Connection closed\n"; exit; };
    }
    grazie lo stesso

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.