---
name: "Verilog::Netlist::Subclass"
section: "3pm"
platform: "linux"
package: "libverilog-perl"
version: "3.482-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Verilog::Netlist::Subclass"
---

# Verilog::Netlist::Subclass(3pm)

Common routines for all classes

## NAME

Verilog::Netlist::Subclass - Common routines for all classes

## SYNOPSIS

```
  package Verilog::Netlist::Something;
  use Verilog::Netlist::Subclass;
  use base qw(Verilog::Netlist::Subclass);
  ...
  $self->info("We're here\n");
  $self->warn("Things look bad\n");
  $self->error("Things are even worse\n");
  $self->exit_if_error();
```

## DESCRIPTION

The Verilog::Netlist::Subclass is used as a base class for all Verilog::Netlist::\* structures.  It is mainly used so that `$self`-\>**warn()** and `$self`-\>**error()** will produce consistent results.

## MEMBER FUNCTIONS

- $self-\>error(*Text...*)

  Print an error in a standard format.

- $self-\>**errors()**

  Return number of errors detected.

- $self-\>**exit\_if\_error()**

  Exits the program if any errors were detected.

- $self-\>**filename()**

  The filename number the entity was created in.

- $self-\>info(*Text...*)

  Print a informational in a standard format.

- $self-\>**lineno()**

  The line number the entity was created on.

- $self-\>**logger()**

  The class to report errors using, generally a Verilog::Netlist::Logger object.

- $self-\>userdata(*key*) =item $self-\>userdata(*key*, *data*)

  Sets (with two arguments) or retrieves the specified key from an opaque hash.  This may be used to store application data on the specified node.

- $self-\>warn(*Text...*)

  Print a warning in a standard format.

- $self-\>**warnings()**

  Return number of warnings detected.

## DISTRIBUTION

Verilog-Perl is part of the \<https://www.veripool.org/\> free Verilog EDA software tool suite.  The latest version is available from CPAN and from \<https://www.veripool.org/verilog-perl\>.

Copyright 2000-2024 by Wilson Snyder.  This package is free software; you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.

## AUTHORS

Wilson Snyder \<wsnyder@wsnyder.org\>

## SEE ALSO

Verilog-Perl, Verilog::Netlist
