in reply to Special Variable Pattern Match whilst reading input from a file

A couple of things.
1. /^frz\s+=\s+(\w+)\;/ will not match a line starting with "frz=" as there is a mandatory whitespace after the z in your regular expression (you were probably looking for \s* so it will match both lines starting with "frz=" or "frz  =" (you might want to change the other \s+ to \s* depending on what the line might look like after the "=".
2. One way to skip the intermediate variable would be:
open (CONFIG_FILE,"$config_file") or die "Can't open $config_file"; my $bar; while(<CONFIG_FILE>){ next unless /^frz\s*=\s*(\w+)\;/; $bar = $1; } print $bar,$/; close(CONFIG_FILE) or die;

-enlil