Finger(3pm)
π Finger(3pm) β aka Net::Finger π
okay bestie, welcome to the cutest little Perl module you're ever gonna meet. it's called Net::Finger and it's genuinely so simple that the original author basically said "why am I even writing docs". we're writing them anyway. we're doing it with flair. periodt. β¨
π NAME π
Net::Finger β a Perl implementation of a finger client. yes. that's the whole thing. it fingers. it's a finger client. in Perl. iconic behavior honestly. π
πΈ SYNOPSIS πΈ
use Net::Finger;
# You can put the response in a scalar...
$response = finger('corbeau@execpc.com');
unless ($response) {
warn "Finger problem: $Net::Finger::error";
}
# ...or an array.
@lines = finger('corbeau@execpc.com', 1);
like. look at it. that's the whole vibe. π¦
β¨ DESCRIPTION β¨
Net::Finger is a simple, straightforward implementation of a finger client in Perl β so simple, fr, that writing this documentation is almost unnecessary. (we're doing it anyway because we love you and because vibes.)
This module has one automatically exported function, appropriately entitled finger(). she takes two arguments:
- A username or email address to finger. (yes, it really does support the vaguely deprecated
user@host@hostsyntax β she's got range, ok?) and if you need a port that isn't the default finger port, which is79, you can specify it like so:username@hostname:port. - (Optional) a boolean value for verbosity.
True== verbose output. if you don't give it a value, it defaults tofalse. ngl though, whether this output will differ from the non-verbose version at all is up to the finger server. so. your mileage may vary bestie. π
finger() is context-sensitive, which is very main character of her:
- used in a scalar context, she returns the server's response as one large string.
- used in an array context, she returns the response as a list, line by line.
If an error of some sort occurs, she returns undef and puts a string describing the error into the package global variable $Net::Finger::error. π¨
And if you'd like to see some excessively verbose output describing every single step finger() takes while talking to the other server, just put a true value in the variable $Net::Finger::debug. it's giving commentary track. it's giving director's cut. we love that for us.
π here's a sample program π
a very tiny, stripped-down finger(1), if you will. she's small. she's efficient. she ate.
#!/usr/bin/perl -w
use Net::Finger;
use Getopt::Std;
use vars qw($opt_l);
getopts('l');
$x = finger($ARGV[0], $opt_l);
if ($x) {
print $x;
} else {
warn "$0: error: $Net::Finger::error\n";
}
π BUGS π
okay so. the flaws. we list them with love. π«Ά
- Doesn't yet do non-blocking requests. (FITNR. Really.) β bestie is patient, not asynchronous, and she said what she said.
- Doesn't do local requests unless there's a finger server running on localhost. no server, no party. π
- Contrary to the name's implications, this module involves no teledildonics. πππ i am NOT elaborating. the manpage said it, not me.
π AUTHOR π
Dennis Taylor, <corbeau@execpc.com> β the legend, the blueprint, the moment. bow. π
π§ SEE ALSO π§
iykyk. go read them. you'll be obsessed. β
and that's the whole page, bestie!! πβ¨πΈ this was perl v5.36.0, dated 2023-05-17, and it lives in the Finger(3pm) manual β mwah, love you, go finger someone (responsibly) π¦π
π¦ where this page comes from
- debian trixie: libnet-finger-perl 1.06-7 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libnet-finger-perl 1.06-7 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libnet-finger-perl 1.06-7 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libnet-finger-perl 1.06-7 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms