G'day Anand,
Welcome to the monastery.
I suspect you're doing something like this:
$ perl -le '
my $password = "abc$def";
print $password;
'
abc
With the warnings pragma, you'd get:
$ perl -le '
use warnings;
my $password = "abc$def";
print $password;
'
Name "main::def" used only once: possible typo at -e line 3.
Use of uninitialized value $def in concatenation (.) or string at -e l
+ine 3.
abc
Now you get a warning (which might get lost in log files, scrolled off the screen, or otherwise not be noticed) but the problem remains (i.e. 'abc' is still output).
With the strict pragma, you'd get:
$ perl -le '
use strict;
use warnings;
my $password = "abc$def";
print $password;
'
Global symbol "$def" requires explicit package name at -e line 4.
Execution of -e aborted due to compilation errors.
Now you have an error which would be pretty hard not to notice as your program has aborted before it even started to run.
If you follow the strict link I provided, you'll find more information about this under "strict vars".
So, the first lesson to take away from this is to add
use strict;
use warnings;
to start of all your scripts (unless you have a very good reason for not doing so).
Anyway, that's all guesswork on my part as you haven't posted any code.
All user input should be viewed as suspicious so I won't be suggesting ways to fix code I haven't seen:
I could end up causing you far worse problems than a simple failed login.
Have a read of "How do I post a question effectively?" then, following those guidelines, update your post with something we can work with ("How do I change/delete my post?" tells you how to do that).
|