in reply to regex corrupting separate regex

blockhead has answered your question.

A better approach is to compare your two name strings using eq and lc instead of a regex:

$match_name = (lc($cache_name) eq lc($task_name$)) ? "match" : "no mat +ch";
For your version comparison, you might consider using index instead of a regex. It is not clear what you are trying to do (why did you initialize the version to an empty string?).

Replies are listed 'Best First'.
Re^2: regex corrupting separate regex
by boxofrox (Initiate) on Feb 13, 2010 at 01:16 UTC
    each task stores results, and tasks are run in groups called jobs. the perl utility i'm modifying:
    1. takes a job number,
    2. creates a Task List from all tasks in the job,
    3. reads a xml file that specifies which order tasks are to be read (<Task Name='A' Version='1.1'/>),
    4. searches the Task List for each task/version in the xml file,
    5. gets the results and appends them to a report file.

    I recently had to create jobs running older tasks. Instead of editing the xml file everytime I deviate to other versions, I want to leave the version attribute blank, and have the utility just find the task regardless of version; i only put one version of a task in each job, hence the empty version number.

    There's likely a better way to do this, but I'm new to perl and modifying a personal copy of a complicated utility someone else in the company wrote.