---
name: "Chemistry::Bond"
section: "3pm"
platform: "linux"
package: "libchemistry-mol-perl"
version: "0.39-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Chemistry::Bond"
---

# Chemistry::Bond(3pm)

Chemical bonds as objects in molecules

## NAME

Chemistry::Bond - Chemical bonds as objects in molecules

## SYNOPSIS

```
    use Chemistry::Bond;
    # assuming we have molecule $mol with atoms $a1 and $a2
    $bond = Chemistry::Bond->new(
        id => "b1",
        type => '=',
        atoms => [$a1, $a2]
        order => '2',
    );
    $mol->add_bond($bond);
    # simpler way of doing the same:
    $mol->new_bond(
        id => "b1",
        type => '=',
        atoms => [$a1, $a2]
        order => '2',
    );
```

## DESCRIPTION

This module includes objects to describe chemical bonds. A bond is defined as a list of atoms (typically two), with some associated properties.

### Bond Attributes

In addition to common attributes such as id, name, and type,  bonds have the order attribute. The bond order is a number, typically the integer 1, 2, 3, or 4.

## METHODS

- Chemistry::Bond-\>new(name =\> value, ...)

  Create a new Bond object with the specified attributes. Sensible defaults are used when possible.

- $bond-\>**order()**

  Sets or gets the bond order.

- $bond-\>length

  Returns the length of the bond, i.e., the distance between the two atom objects in the bond. Returns zero if the bond does not have exactly two atoms.

- $bond-\>aromatic($bool)

  Set or get whether the bond is considered to be aromatic.

- $bond-\>print

  Convert the bond to a string representation.

- $bond-\>**atoms()**

  If called with no parameters, return a list of atoms in the bond.  If called with a list (or a reference to an array) of atom objects, define the atoms in the bond and call `$atom`-\>add\_bond for each atom in the list. Note: changing the atoms in a bond may have strange side effects; it is safer to treat bonds as immutable except with respect to properties such as name and type.

- $bond-\>delete

  Calls `$mol`-\>delete\_bond($bond) on the bond's parent molecule. Note that a bond should belong to only one molecule or strange things may happen.

## SOURCE CODE REPOSITORY

\<https://github.com/perlmol/Chemistry-Mol\>

## SEE ALSO

Chemistry::Mol, Chemistry::Atom, Chemistry::Tutorial

## AUTHOR

Ivan Tubert-Brohman \<itub@cpan.org\>

## COPYRIGHT

Copyright (c) 2005 Ivan Tubert-Brohman. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
