my $pre_regex = qr/^\s*define\s*\(\s*['"]/mix; my $post_regex = qr/['"]\s*,\s*['"]([^'"]+)['"]/mix; ($db, $db_user, $db_pass) = map { $string =~ /$pre_regex $_ $post_regex/mix ? $1 : 'unknown' } qw(DB_NAME DB_USER DB_PASSWORD);