2017-10-19 4 views
1

J'ai un script qui s'exécute sous Ubuntu mais je voudrais l'exécuter sous Windows. Je sais comment l'exécuter Je ne sais pas quel est le problème avec mon script pour ne pas le faire fonctionner.Exécution d'un script perl sous Windows

#!/usr/bin/perl 

use strict; 
use warnings; 
use IO::Compress::Zip qw(zip $ZipError); 
use File::Find; 

my @files = <C:\Windows\*.log>; 

zip [ @files ] => 'Desktop/output.zip' 
    or die "zip failed: $ZipError\n"; 

unlink glob "'C:\Windows\*.log'"; 
print "The job is done\n"; 
+0

Je dirais la chaîne après 'glob'. Pourquoi ne pas réutiliser la même syntaxe que celle utilisée pour les @ fichiers? Peut-être aussi les barres obliques inverses dans la partie ''. Je ne peux pas tester sur Windows. – simbabque

+1

Quelle est l'erreur de Perl? – PhillipD

+1

N'avez-vous pas d'avertissements? 'Évasion non reconnue \ W passé à travers ...' – toolic

Répondre

3

Essayez ceci:

my @files = glob 'C:/Windows/*.log'; 

et

unlink glob 'C:/Windows/*.log'; 

appel glob est explicitement mieux que <>, et en utilisant / au lieu de \ simplifie en citant.