Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

email address as username

by nateh (Initiate)
on Oct 17, 2018 at 16:18 UTC ( [id://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 (Saint) 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?Last hourOther CB clients
Other Users?
Others studying the Monastery: (6)
As of 2024-04-23 16:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found