use FileHandle;
use vars qw($VERSION);
-$VERSION = "2.11"; # $Id: //depot/libnet/Net/Netrc.pm#10 $
+$VERSION = "2.12"; # $Id: //depot/libnet/Net/Netrc.pm#13 $
my %netrc = ();
} else {
# Some OS's don't have `getpwuid', so we default to $ENV{HOME}
$home = eval { (getpwuid($>))[7] } || $ENV{HOME};
+ $home ||= $ENV{HOMEDRIVE} . ($ENV{HOMEPATH}||'') if defined $ENV{HOMEDRIVE};
$file = $home . "/.netrc";
}
s/^\s*//;
chomp;
- push(@tok, $+)
- while(length && s/^("([^"]*)"|(\S+))\s*//);
+
+ while(length && s/^("((?:[^"]+|\\.)*)"|((?:[^\\\s]+|\\.)*))\s*//) {
+ (my $tok = $+) =~ s/\\(.)/$1/g;
+ push(@tok, $tok);
+ }
TOKEN:
while(@tok)
If a matching entry cannot be found, and a default entry exists, then a
reference to the default entry is returned.
+If there is no matching entry found and there is no default defined, or
+no .netrc file is found, then C<undef> is returned.
+
=back
=head1 METHODS
=for html <hr>
-$Id: //depot/libnet/Net/Netrc.pm#10 $
+$Id: //depot/libnet/Net/Netrc.pm#13 $
=cut