in reply to Re^2: Need help in while entering password
in thread Need help in while entering password

Here is my code.

The problem is that your code does not compile under strictures (the  use strict; statement; see strict). If  use strict; is left out and the code is run under warnings alone (the  use warnings; statement), Perl produces a bunch of warnings about uninitialized values and possible typos, warnings you should ponder well. Also take a look at the rules for interpolation discussed in the Quote and Quote-like Operators section of perlop; a careful Reading of this section of The Fine Manual would repay your effort. (Same as  perldoc perlop from the command line.)

Here is an example of double-quote interpolation and single-quote non-interpolation. (These examples have been given before by others.) An example is also given of entering a string from the command line at a prompt. Note that once successfully entered, 'interpolating' characters do not interpolate further: Perl does not do multi-level or nested interpolation. Perhaps you can build on something like this example to demonstrate the problem(s) you are facing. (Note: I use  qq{double quotes} rather than  "double quotes" on my Windoze command line so that the code will not be cluttered by irruptions of backslashes.)

>perl -wMstrict -le "my $def = 'hi there'; my @jkl = qw(foo bar); ;; my $str1 = qq{abc$def}; my $str2 = qq{ghi@jkl}; ;; print qq{str1: :$str1:}; print qq{str2: :$str2:}; ;; my $str3 = 'pqr$def'; my $str4 = 'xyz@jkl'; ;; print qq{str3: :$str3:}; print qq{str4: :$str4:}; ;; ;; print 'enter password: '; my $pw = <STDIN>; chomp $pw; ;; print qq{pw: :$pw:} " str1: :abchi there: str2: :ghifoo bar: str3: :pqr$def: str4: :xyz@jkl: enter password: open@sez$me pw: :open@sez$me:

Replies are listed 'Best First'.
Re^4: Need help in while entering password
by anandooty (Initiate) on Aug 19, 2013 at 16:36 UTC
    Thanks you all for your response. Actually the issue is with the tool I am using.. It picks the server where it found the @. It consider as a server after @. /Q c:\eqsys.txt sftp://v556837:Case@123@server1 In above case it picks 123 as hostname instead of server1. I don't have any issues if password not used special character like @, $, % in between. Regards, Anand Mathan.

      Hi, I need one more help on this to solve this issue. Now I have changed it as @trans_file = ("/Q"." "."c:\\eqsys.txt"." "."sftp://$username:"\@"."$server"); It asks for password in the screen and wait for user input to enter the password. like - Enter password :<Type password> and hit enter to move to next action. Is it possible to pass the password through script? Regards, Anand Mathan.

        It asks for password in the screen and wait for user input to enter the password. ... Is it possible to pass the password through script?

        It is certainly possible to have your script interact with another application as if it were a user. I think this would be done with a module like Expect, but I personally have no experience with this module or with this sort of application-application interaction. Maybe open a fresh thread in SoPW with a title like "How Can My Script Submit a Password when Prompted by an Application?", or use Super Search with similar search terms.