---
name: "Net::Whois::RIPE::Object"
section: "3pm"
platform: "linux"
package: "libnet-whois-ripe-perl"
version: "1.23-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Whois::RIPE::Object"
---

# Net::Whois::RIPE::Object(3pm)

RIPE Query Results

## NAME

Net::Whois::RIPE::Object - RIPE Query Results

## SYNOPSIS

```
 use Net::Whois::RIPE::Object;
 $object = new Net::Whois::RIPE::Object;
 $object->debug(1);
 while ($line = $whois_socket->get()) {
     ($attribute,$value) = ($line =~ /^(.+?):\s+(.+)$/);
     next unless $attribute;
     $object->add($attribute,$value);
 }
 $object->success || die;
 foreach $attribute ($object->attributes()) {
     foreach $value ($object->$attribute()) {
         printf "%s:    %-s\n", $attribute, $value;
     }
 }

 print $object->content; # raw content from whois server
 for $error ($object->error) {...}
 for $warn ($object->warning) {...}
```

## DESCRIPTION

Encapsulates the results of a whois query. The attribute/value pairs of the response may then by accessed using the attribute as a method name.

These objects are created by *Net::Whois::RIPE* to be  returned as *query* results.

Short background...a **whois** server would return the following for a person query.

```
   person:      Paul Gampe
   address:     Level 1 - 33 Park Road
   address:     Milton, QLD, 4064
   country:     AU
   phone:       +61-7-3367-0490
   fax-no:      +61-7-3367-0482
   e-mail:      paulg@apnic.net
   nic-hdl:     PG6-AP
   remarks:     APNIC Technical Operations Team
   mnt-by:      MAINT-AP-APNIC-TECH
   changed:     paulg@apnic.net 19990909
   source:      APNIC
```

*Net::Whois::RIPE::Object* parses the attribute's and values and **add**'s  them to itself. The RIPE object can then be used to access the attribute  values using the attribute names as methods. A call to **attributes** returns an ordered list of all attributes parsed.

All values are stored as lists since some attributes are multiline  (e.g. address). If there has been a problem with the query then the **content** method may provide output from the server that can be used to diagnose why.

```
 $whois = Net::Whois::RIPE->new($host);
 $query = $whois->query('Paul Gampe');
 unless ($query->success) {
     print "There's been a problem...server response is...\n";
     print $query->content;
     exit
 }
 print "Paul's nic-hdl is ", $query->nic_hdl, "\n";
```

Attributes that had a dash '-' are converted to underscore '\_' for method names.

## CONSTRUCTOR

- **new(HANDLE)**

  Creates a new RIPE object. Attempts to parse lines from *HANDLE*. Any  parsing failure causes the constructor to return undef. Error messages are available via **errstr**. *HANDLE* may be a file handle or a socket.

## METHODS

- ***content()***

  Returns the raw output from the whois server. In a list context it returns the lines from whois as a list. In a scalar context it returns the entire list in a scalar.

  In the case where no ATTRIBUTE's are available via the **attributes** method, then the content may hold information from *whois* as to why.

- ***attributes()***

  Returns the list of ATTRIBUTE's that were added by **add**. The order of the list is the order the ATTRIBUTE's were added in.

  If no ATTRIBUTE's were added then an empty list is returned. Try calling **content** to obtain output from the *whois* server as to why.

  Call *attributes* to find out if the object was successfully parsed.  *success* reports errors from the whois server. It is possible that *success* can report true but the object has no attributes.

- ***warning()***

  In a list context it returns an array of warning lines. In a scalar context it returns a \\n separated string of warning lines.

  These are the warnings from the whois server about the object.

- ***error()***

  In a list context it returns an array of error lines. In a scalar context it returns a \\n separated string of error lines.

  These are the errors from the whois server about the object.

- **success**

  Returns 1 if no errors defined, 0 otherwise

- **debug(LEVEL)**

  Sets/gets the debug level.

## CAVEATS

## AUTHOR

```
 Kevin Baker, <shagol@users.sourceforge.net>
 Paul Gampe, <pgampe@users.sourceforge.net>
 Bruce Campbell, <bxc@users.sourceforge.net>
```

## SEE ALSO

```
 Net::Whois::RIPE
```

## COPYRIGHT

```
 Copyright (C) 1999 Paul Gampe and APNIC Pty. Ltd.
 Copyright (C) 2000 Kevin Baker and APNIC Pty. Ltd.

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 1, or (at your option)
 any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
```

## POD ERRORS

Hey! **The above document had some coding errors, which are explained below:**

- Around line 82:

  '=item' outside of any '=over'

- Around line 88:

  You forgot a '=back' before '=head1'

- Around line 90:

  '=item' outside of any '=over'

- Around line 133:

  You forgot a '=back' before '=head1'
