I liked the idea of generating a script so I developed your idea so that you don't have to escape the input string and you can configure the input/output sources
poj#!perl use strict; use warnings; my $infile = 'in.txt'; my $outfile = 'out.txt'; print 'enter a match : '; chomp( my $match = <STDIN>); print 'enter a replacement : '; chomp( my $replace = <STDIN>); open OUT,'>','regex.pl' or die "Could not create regex.pl : $!"; $match = qr(\Q$match\E); my $regex = "s/$match/$replace/gi"; print "Regex = $regex\n"; while (<DATA>) { s{#REGEX#}{$regex}g; s{#INFILE#}{$infile}g; s{#OUTFILE#}{$outfile}g; print OUT $_; } close OUT; print "Done\n"; system( 'perl regex.pl'); __DATA__ #!perl use strict; use warnings; my $t0 = time(); open my $in,'<','#INFILE#' or die "Could not open #INFILE# : $!"; open my $out,'>','#OUTFILE#' or die "Could not open #OUTFILE# : $!"; my $count = 0; while (<$in>){ #REGEX#; print $out $_; ++$count; } my $dur = time() - $t0; print "$count records processed #INFILE# >> #OUTFILE# in $dur seconds\n";
In reply to Re^4: Regex stored in a scalar
by poj
in thread Regex stored in a scalar
by OtakuGenX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |