$ ./LeftToRight.pl Use of uninitialized value $_ in substitution (s///) at ./LeftToRight.pl line 12 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl will try to tell you the name of the variable (if any) that was undefined. In some cases it cannot do this, so it also tells you what operation you used the undefined value in. Note, however, that perl optimizes your program anid the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. Use of uninitialized value $RedirectUrl in concatenation (.) or string at ./LeftToRight.pl line 13 (#1) for at the end: $RedirectUrl = <> Use of uninitialized value $RedirectUrl in substitution (s///) at ./LeftToRight.pl line 15 (#1) Use of uninitialized value $RedirectUrl in concatenation (.) or string at ./LeftToRight.pl line 16 (#1) run on line: $RedirectUrl = <> Use of uninitialized value $_ in substitution (s///) at ./LeftToRight.pl line 18 (#1) Use of uninitialized value $RedirectUrl in concatenation (.) or string at ./LeftToRight.pl line 19 (#1) for at the start: $RedirectUrl = <>