Il y a deux concepts distincts dans cette réponse:
- fichier IO et itérer toutes les lignes dans un tout
- expression régulière, et en passant en particulier une variable à une expression régulière.
Notez l'utilisation de quotemeta. Il est important que l'entrée de l'utilisateur contienne des caractères spécifiques à RE (qui peuvent même créer un RE illigel si vous ne le manipulez pas).
Voici le code:
print "Looking for: ";
my $input = <>;
chomp $input;
my $re = quotemeta $input;
open my $fh, "<", "myfile.txt" or die $!;
while(<$fh>) {
print if /$re/;
}
close $fh;
double possible de http://stackoverflow.com/questions/3848360/how-can-i-implement-unix-grep-in-perl –