---
name: "Image::Info::XPM"
section: "3pm"
platform: "linux"
package: "perl-image-info"
version: "1.45-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Image::Info::XPM"
---

# Image::Info::XPM(3pm)

XPM support for Image::Info

## NAME

Image::Info::XPM - XPM support for Image::Info

## SYNOPSIS

```
 use Image::Info qw(image_info dim);
 my $info = image_info("image.xpm");
 if (my $error = $info->{error}) {
     die "Can't parse image info: $error\n";
 }
 my $color = $info->{color_type};
 my($w, $h) = dim($info);
```

## DESCRIPTION

This modules supplies the standard key names except for Compression, Gamma, Interlace, LastModificationTime, as well as:

- ColorPalette

  Reference to an array of all colors used. This key is only present if `"image_info"` is invoked as `"image_info($file, ColorPalette>=1)"`.

- ColorTableSize

  The number of colors the image uses.

- HotSpotX

  The x-coord of the image's hotspot. Set to -1 if there is no hotspot.

- HotSpotY

  The y-coord of the image's hotspot. Set to -1 if there is no hotspot.

- L1D\_Histogram

  Reference to an array representing a one dimensional luminance histogram. This key is only present if `"image_info"` is invoked as `"image_info($file, L1D_Histogram=>1)"`. The range is from 0 to 255, however auto-vivification is used so a null field is also 0, and the array may not actually contain 255 fields.

- XPM\_CharactersPerPixel

  This is typically 1 or 2. See Image::Xpm.

- XPM\_Extension-.\*

  XPM Extensions (the most common is XPMEXT) if present.

## METHODS

### process\_file()

```
        $info->process_file($source, $options);
```

Processes one file and sets the found info fields in the `$info` object.

## FILES

This module requires Image::Xpm

*$Image::Info::XPM::RGBLIB* is set to */usr/X11R6/lib/X11/rgb.txt* or an equivalent path (see the `"_get_rgb_txt"` function for the complete list) by default, this is used to resolve textual color names to their RGB counterparts.

## SEE ALSO

Image::Info, Image::Xpm

## NOTES

For more information about XPM see \<ftp://ftp.x.org/contrib/libraries/xpm-README.html\>

## CAVEATS

While the module attempts to be as robust as possible, it may not recognize older XPMs (Versions 1-3), if this is the case try inserting /\* XPM \*/ as the first line.

## AUTHOR

Jerrad Pierce \<belg4mit@mit.edu\>/\<webmaster@pthbb.org\>

Tels - (c) 2006.

Now maintained by Slaven Rezic \<srezic@cpan.org\>.

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