1- Have you tried doing the regex without the vars? s/(name1|name2)/(surname1|surname2)/g; Does that do what you want? If not you need to write a regex that does what you want without vars then incorporate that into your vars.
2- This may work, try : { s/$original/$new/g; print; } Dan -----Original Message----- From: Adriano Allora [mailto:[EMAIL PROTECTED]] Sent: Friday, December 27, 2002 1:00 PM To: [EMAIL PROTECTED] Subject: single quote and substitutions Hi to all, I need to substitute in a text a serie of word with another serie of word (for example: when I have the name I want the correct surname). Modifying a someone else script I wrote this one: #!/usr/bin/perl -w my $original = '(name1|name2)'; my $new = '(surname1|surname2)'; $file_name = "ciccio.txt"; open (INPUT, $file_name); while (<INPUT>) { s/$original/$new/g; $cortext .= $_; } print $cortex; close (INPUT); (first)It doesn't work correctly (it substitutes each $original with the entire string "(surname1|surname2)"), and I'm not able to understand why. (second)Another thing: How can I write again, in a way more elegant, the part: $cortext .= $_; } print $cortex; for example having only } print; ? (third) have an exaordinary new year (and new years eve), I'm gratefull to all af you beacuse it is useful to read your mail also when I'm not directly interested by their subject. all'adr -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]