bonjour!
je débute en Perl et j'ai eu un problème avec le module Copy::File et la fonction move ( j'ai lu le FAQ et fais des recherche sur google mais en vain!)
Mon programme supprime la chaine de caractère "<iframe...>...</iframe>" dans un fichier X.txt(reçu en argument), deplace le fichier original X.txt dans un dossier backup et renomme le nouveau fichier 2X.txt (qui ne contient plus la chaine et créé par le programme). #c'est très simple
voici le code:
***************************Problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 use File::Copy; open(FILE2, ">2".$ARGV[0] ) or die ("prob"); open my ($FILE1), '<', "$ARGV[0]" or die "probleme\n"; while( my $line = <$FILE1> ) { if ( $line =~ /<iframe .+>.+<\/iframe>/ ) { print "existe et a ete supprime\n"; $line =~ s/<iframe .+>.+<\/iframe>/ /g; }else { print FILE2 "$line\n" ; } } close(FILE1); close(FILE2); #$oldlocation ="$ARGV[0]" ; #$newlocation = "Backup/$oldlocation"; move( $ARGV[0], "Backup/".$ARGV[0]) or die "fail to move"; rename("2".$ARGV[0] , $ARGV[0]) or die "fail to move"; print"fin\n";
Les fonctions move et rename marchent très bien quands elles sont "apart" mais ne font rien dans ce cas-ci!
Pouvez m'aider?
merci
Partager