I want to create a script which can substitute a more-than-one-word substitution with more than other one from command line in a large amount of files.
My idea:
$ perl command words to be substitute -f words with which substitute -f2 file file file...
(-f marks the end (the italian word for end is "fine") for the first group of words and -f2 the end of second group).
The script can see and print al my variables (in particular $pattern and $replacement) but doesn't use them, and I'm sure it's something of simple but (for my eyes) invisible.
Thanks a lot,
alladr
===========================THE SCRIPT========================
#!/usr/bin/perl -w
use strict; my ($var, $mark1, $mark2, $pattern, $replacement); foreach $ARGV (@ARGV) { $mark1 = $var if ($ARGV eq "-f"); $mark2 = $var if ($ARGV eq "-f2"); $var++; } $var = 0; for($var = 0; $var < $mark1; $var++) { $pattern .= "$ARGV[$var] "; } $mark1++; for($var = $mark1; $var < $mark2; $var++) { $replacement .= "$ARGV[$var] "; } $var -= $mark2; $mark2++; chomp $pattern; chomp $replacement;
################
# here my problem: the script see my $pattern and my $replacement but doesn't use them
#
# someone can help me?
################
$^I = ''; splice @ARGV, 0, $mark2;
while(<>){ tr/\015\012/\n/s; s/$pattern/$replacement/g; print; print STDOUT ++$var, " - I cleaned $ARGV\n" if (eof); }
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>