le script
Code:
1
2
3
4
5
6
7
8 #! /usr/bin/perl -w ... while (($j<@_)&&(lc($w) ne lc($_[$j]))) { $j++; }; print " $i\n" if ($j != @_+0); } }
Version imprimable
le script
Code:
1
2
3
4
5
6
7
8 #! /usr/bin/perl -w ... while (($j<@_)&&(lc($w) ne lc($_[$j]))) { $j++; }; print " $i\n" if ($j != @_+0); } }
Commence par indenter correctement ton code et utiliser des balises codes (bouton #) pour le présenter sur le forum !!
Par ailleurs "optimiser" ? Ce serait plutôt "écrire le script en Perl et pas en C" la question...
--
Jedaï
Et voici une implémentation nettement plus propre (même si j'aime pas la façon dont tu traites les options) et complètement compatible de ton script :
Par ailleurs, pourquoi "clear" ? Une application en ligne de commande ne devrait pas toucher à la console sauf si elle a des prétentions d'interface graphique en console. Aucune bonne application ne nettoie l'écran juste pour afficher une liste de numéro de ligne...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #! /usr/bin/perl use strict; use warnings; system("clear"); my($filename, $word, $ignore_case) = @ARGV; print "Le mot \"$word\" se trouve dans les lignes suivantes du fichier \"$filename\" :\n"; my $rx = $ignore_case ? qr/\Q$word\E/i : qr/\Q$word\E/; @ARGV = ($filename); while( <> ) { print "Ligne numero : $.\n" if m/$rx/; }
--
Jedaï
merci infiniment Mr jedaï excellent vraiement ca m'aider bcq pour optimiser mon script
merci bcq et longue vie pour cet excelent forum.