---
name: "pdict"
section: "1p"
platform: "linux"
package: "libnet-dict-perl"
version: "2.22-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pdict"
---

# pdict(1p)

a perl client for accessing network dictionary servers

## NAME

pdict - a perl client for accessing network dictionary servers

## SYNOPSIS

**pdict** \[OPTIONS\] *word*

## DESCRIPTION

**pdict** is a client for the Dictionary server protocol (DICT), which is used to query natural language dictionaries hosted on a remote machine.  When used in the most simple way,

```
    % pdict word
```

**pdict** will look for definitions of *word* in the dictionaries hosted at **dict.org**. If no definitions are found, then dict will look for words which are similar, and list them:

```
    % pdict bonana
      no definition for "bonana" - perhaps you meant:
        banana, bonanza, Banana, Bonanza, Bonasa
```

This feature is only available if the remote DICT server supports the *soundex* or *Levenshtein* matching strategies. You can use the **-stats** switch to find out for yourself.

You can specify the hostname of the DICT server using the **-h** option:

```
    % pdict -h dict.org dictionary
```

A DICT server can support a number of databases; you can use the **-d** option to specify a particular database. For example, you can look up computer-related terms in the Free On-line Dictionary Of Computing (FOLDOC) using:

```
    % pdict -h dict.org -d foldoc byte
```

To find out what databases (dictionaries) are available on a server, use the **-dbs** option:

```
    % pdict -dbs
```

There are many dictionaries hosted on other servers around the net; a list of some of them can be found at

```
    http://www.dict.org/links.html
```

### MATCHING

Instead of requesting word definitions, you can use pdict to request a list of words which match a pattern. For example, to look for four-letter words starting in 'b' and ending in 'p', you would use:

```
    % pdict -match -strategy re '^b..p$'
```

The **-match** option says you want a list of matching words rather than a definition. The **-strategy re** says to use POSIX regular expressions when matching the pattern **^b..p$**.

Most DICT servers support a number of matching strategies; you can get a list of the strategies provided by a server using the **-strats** switch:

```
    % pdict -h dict.org -strats
```

## OPTIONS

- **-h** *server* or **-host** *server*

  The hostname for the DICT server. If one isn't specified then defaults to **dict.org**.

- **-p** *port* or **-port** *port*

  Specify the port for connections (default is 2628, from RFC 2229).

- **-d** *dbname* or **-database** *dbname*

  The name of a specific database (dictionary) to query.

- **-m** or **-match**

  Look for words which match the pattern (using the specified strategy).

- **-i** *dbname* or **-info** *dbname*

  Request information on the specified database. Typically results in a couple of pages of text.

- **-c** *string* or **-client** *string*

  Specify the CLIENT identification string sent to the DICT server.

- **-D** or **-dbs**

  List the available databases (dictionaries) on the DICT server.

- **-s** *strategy* or **-strategy** *strategy*

  Specify a matching strategy. Used in combination with **-match**.

- **-S** or **-strats**

  List the matching strategies (used in -strategy) supported by the DICT server.

- **-I** or **-serverinfo**

  Request information on the selected DICT server.

- **-help**

  Display a short help message including command-line options.

- **-doc**

  Display the full documentation for **pdict**.

- **-version**

  Display the version of **pdict**

- **-verbose**

  Display verbose information as **pdict** runs.

- **-debug**

  Display debugging information as **pdict** runs. Useful mainly for developers.

## KNOWN BUGS AND LIMITATIONS

- •

  **pdict** doesn't know how to handle firewalls.

- •

  The authentication aspects of RFC 2229 aren't currently supported.

- •

  Display of list results (eg from **-strats** and **-dbs**) could be better.

- •

  **pdict** isn't very smart at handling combinations of options.

- •

  Currently no support for a configuration file - will add one soon.

## SEE ALSO

- www.dict.org

  The DICT home page, with all sorts of useful information. There are a number of other DICT clients available.

- dict

  The C dict client written by Rik Faith; the options are pretty much lifted from Rik's client.

- RFC 2229

  The document which defines the DICT network protocol.

  http://www.cis.ohio-state.edu/htbin/rfc/rfc2229.html

- Net::Dict

  The perl module which implements the client API for RFC 2229.

## VERSION

`$Revision:` 1.2 $

## AUTHOR

Neil Bowers \<neil@bowers.com\>

## COPYRIGHT

Copyright (C) 2002 Neil Bowers. All rights reserved.

This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
