---
name: "Net::Finger"
section: "3pm"
platform: "linux"
package: "libnet-finger-perl"
version: "1.06-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Finger"
---

# Net::Finger(3pm)

a Perl implementation of a finger client.

## NAME

Net::Finger - a Perl implementation of a finger client.

## 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);
```

## DESCRIPTION

Net::Finger is a simple, straightforward implementation of a finger client in Perl -- so simple, in fact, that writing this documentation is almost unnecessary.

This module has one automatically exported function, appropriately entitled `"finger()"`. It takes two arguments:

- •

  A username or email address to finger. (Yes, it does support the vaguely deprecated "user@host@host" syntax.) If you need to use a port other than the default finger port (79), 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 to false. Actually, whether this output will differ from the non-verbose version at all is up to the finger server.

`"finger()"` is context-sensitive. If it's used in a scalar context, it will return the server's response in one large string. If it's used in an array context, it will return the response as a list, line by line. If an error of some sort occurs, it returns undef and puts a string describing the error into the package global variable `$Net::Finger::error`. If you'd like to see some excessively verbose output describing every step `"finger()"` takes while talking to the other server, put a true value in the variable `$Net::Finger::debug`.

Here's a sample program that implements a very tiny, stripped-down [**finger**(1)](/finger/1.md):

```
    #!/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

- •

  Doesn't yet do non-blocking requests. (FITNR. Really.)

- •

  Doesn't do local requests unless there's a finger server running on localhost.

- •

  Contrary to the name's implications, this module involves no teledildonics.

## AUTHOR

Dennis Taylor, \<corbeau@execpc.com\>

## SEE ALSO

[**perl**(1)](/perl/1.md), [**finger**(1)](/finger/1.md), RFC 1288.
