in reply to Debugging "Use of Unitialized Value" message

I think this might be your problem:

$cmd[0] = "copy $workarea\\$sec_homepage\\data\\$key $archive\\$sec_ho +mepage\\data\\$key"; $cmd[1] = "del /Q $workarea\\$sec_homepage\\data\\$key"; $cmd[2] = "$cmd_path\\iwsubmit -w -u $vpath/$submit/data/$key \"Conten +t Expired.\""; $cmd[3] = "$cmd_path\\iwsubmit -w -u $vpath_arc/$submit/data/$key \"Su +bmitted to Staging.\"";

None of those variables are passed to the sub, or created in the sub. Therefore, they are unitialized. I think what you mean to do is store those names in the @cmd array. To do that, the $ need to be backslashed.

$cmd[0] = "copy \$workarea\\\$sec_homepage\\data\\$key $archive\\\$sec +_homepage\\data\\$key"; $cmd[1] = "del /Q\$workarea\\\$sec_homepage\\data\\$key"; $cmd[2] = "\$cmd_path\\iwsubmit -w -u \$vpath/\$submit/data/$key \"Con +tent Expired.\""; $cmd[3] = "\$cmd_path\\iwsubmit -w -u \$vpath_arc/\$submit/data/$key \ +"Submitted to Staging.\"";

If that isn't it, please tell us what your function is supposed to do :)

Replies are listed 'Best First'.
Re: Re: Debugging "Use of Unitialized Value" message
by dragonchild (Archbishop) on Aug 27, 2001 at 21:54 UTC
    I think you're mistaken. wstarrs is probably using a number of global variables set outside of the function. Those variable names probably shouldn't be backslashed. *winces* That's probably part of his problem, too.

    ------
    /me wants to be the brightest bulb in the chandelier!

    Vote paco for President!