Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

email address as username

by nateh (Initiate)
on Oct 17, 2018 at 16:18 UTC ( #1224172=perlquestion: print w/replies, xml ) Need Help??

nateh has asked for the wisdom of the Perl Monks concerning the following question:

I'm having trouble with my perl script as the username in my script is an email address with the @ symbol and it is throwing an error. For instance:

$user = 'first.last@somewhere.com';

I'm unable to change the username to be something other than an email and therefore remove the @ symbol. Is there a way to keep such a username and get it to work in perl? Thanks

Replies are listed 'Best First'.
Re: email address as username
by LanX (Sage) on Oct 17, 2018 at 16:23 UTC
    > it is throwing an error.

    which error?

    > $user = 'first.last@somewhere.com';

    that's fine. You most likely did use double quotes instead

    $user = "first.last@somewhere.com";

    which will try to interpolate the array @somewhere.

    But this is just a guess since you didn't give us details

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

    update

    compare https://perlmaven.com/quoted-interpolated-and-escaped-strings-in-perl

      If I use single quotes, I get the error "Can't call method "login" on an undefined value at line x." Here's the relevant portion of the code:
      use Net::FTP; my ($ftp, $host, $user, $pass, $dir, $fpath); $host = 'ftp.my.com'; $user = 'last.first@somewhere.com'; $pass = 'mypass'; $dir = '/my/file_path/onftp'; $fpath = 'myfileonserver_xml.zip'; $ftp = Net::FTP->new($host, Debug => 0); $ftp->login($user, $pass) || die $ftp->message; ##this is line x## $ftp->cwd($dir); $ftp->put($fpath) || die $ftp->message; $ftp->quit;
        From the Net::FTP docs:
        $ftp = Net::FTP->new("some.host.name", Debug => 0) or die "Cannot connect to some.host.name: $@";
        Check for errors as shown in the docs. What does that say?

        You are missing a semi-colon from the end of this line.

        use Net::FTP
        poj

        You are getting the error on your first use of the $ftp object.

        That means the construction of it in the line above failed, where you specified $ftp = Net::FTP->new($host, Debug => 0);

        I can't see from here why it failed, you will have to debug if you can reach $host using some other method to ftp for instance.

        Cheers, Sören

        Créateur des bugs mobiles - let loose once, run everywhere.
        (hooked on the Perl Programming language)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1224172]
Approved by stevieb
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (2)
As of 2022-01-28 05:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (73 votes). Check out past polls.

    Notices?