in reply to Re^6: Validate newline delimited email list
in thread Validate newline delimited email list

i've added the function.

Perl disagrees.

adding 'sub trim;' to the top of my script gets rid of this error.

sub trim; shifts the problem. As you can see, it didn't fix anything.

I'm not sure why you keep making me guess. If *your code* doesn't work, show it!

Replies are listed 'Best First'.
Re^8: Validate newline delimited email list
by philosophia (Sexton) on Jan 12, 2007 at 23:07 UTC
    thanks. the current version of the code
    sub trim; ... my ($error) = 0; my @other_addresses = map trim, split( /\n/, $email_list ); foreach (@other_addresses) { my $ok = Email::Valid->address($_); $error++ if(!$ok); print "address($_) = $ok<br>"; print "error ".$error."<br>"; } $error_message .= "$error Email list contains an invalid email add +ress.<br>" if ($error > 0); ... sub trim { my ($s) = @_; for ($s) { s/^\s+//; s/\s+$//; return $_; } }
    gives me
    address() = error 1 address() = error 2 There was an error with your form submission. 2 Email list contains an invalid email address.
    it looks like $_ is not getting populated with an email address.
      try:
      sub trim; ... my ($error) = 0; my @other_addresses = split( /\n/, $email_list ); foreach (@other_addresses) { trim $_; my $ok = Email::Valid->address($_); $error++ if(!$ok); print "address($_) = $ok<br>"; print "error ".$error."<br>"; } $error_message .= "$error Email list contains an invalid email add +ress.<br +>" if ($error > 0); ... sub trim { $_[0] =~ s/^\s+//; $_[0] =~ s/\s+$//; $_[0]; } }

      Search, Ask, Know