---
name: "Perl::osnames"
section: "3pm"
platform: "linux"
package: "libperl-osnames-perl"
version: "0.122-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Perl::osnames"
---

# Perl::osnames(3pm)

List possible $^O ($OSNAME) values, with description

## NAME

Perl::osnames - List possible $^O ($OSNAME) values, with description

## VERSION

This document describes version 0.122 of Perl::osnames (from Perl distribution Perl-osnames), released on 2020-02-13.

## DESCRIPTION

This package contains `$data` which lists possible values of `$^O` along with description for each. It also provides some helper functions.

### Tags

- •

  unix

  Unix-like operating systems. This currently excludes beos/haiku.

- •

  bsd

  BSD-derived Unix operating systems.

- •

  sysv

  SysV-derived Unix operating systems.

- •

  posix

  For POSIX-compliant OSes, including fully-, mostly-, and largely-compliant ones (source: \<http://en.wikipedia.org/wiki/POSIX\>).

  From what I can gather, dec\_osf is not POSIX compliant, although there is a posix package for it.

## VARIABLES

None are exported by default, but they are exportable.

### $data

An arrayref of records (arrayrefs), each structured as:

```
 [$name, \@tags, $description]
```

### $RE\_OS\_IS\_KNOWN

Current value:

```
 qr/\A(?:aix|amigaos|android|bsdos|beos|bitrig|dgux|dos|dynixptx|cygwin|darwin|dec_osf|dragonfly|freebsd|gnu|gnukfreebsd|haiku|hpux|interix|iphoneos|irix|linux|MacOS|machten|midnightbsd|minix|mirbsd|mpeix|msys|MSWin32|netbsd|next|nto|openbsd|os2|os390|os400|posix-bc|qnx|riscos|sco|sco_sv|solaris|sunos|svr4|svr5|unicos|unicosmk|vmesa|VMS|vos)\z/
```

### $RE\_OS\_IS\_POSIX

Current value:

```
 qr/\A(?:aix|beos|cygwin|darwin|dragonfly|freebsd|gnu|gnukfreebsd|haiku|hpux|interix|iphoneos|irix|linux|midnightbsd|minix|mirbsd|msys|netbsd|openbsd|sco|sco_sv|solaris|sunos|svr4|svr5|unicos|unicosmk)\z/
```

### $RE\_OS\_IS\_UNIX

Current value:

```
 qr/\A(?:aix|android|bsdos|bitrig|dgux|dynixptx|cygwin|darwin|dragonfly|freebsd|gnu|gnukfreebsd|hpux|interix|iphoneos|irix|linux|machten|midnightbsd|mirbsd|msys|netbsd|next|nto|openbsd|qnx|sco|sco_sv|solaris|sunos|svr4|svr5|unicos|unicosmk)\z/
```

## FUNCTIONS

None are exported by default, but they are exportable.

### is\_posix(\[ $os \]) =\> bool

Check whether `$os` (defaults to `$^O` if not specified) is POSIX (checked by the existence of `"posix"` tag on the OS's record in `$data`). Will return 0, 1, or undef if `$os` is unknown.

### is\_unix(\[ $os \]) =\> bool

Check whether `$os` (defaults to `$^O` if not specified) is Unix (checked by the existence of `"unix"` tag on the OS's record in `$data`). Will return 0, 1, or undef if `$os` is unknown.

## HOMEPAGE

Please visit the project's homepage at \<https://metacpan.org/release/Perl-osnames\>.

## SOURCE

Source repository is at \<https://github.com/perlancar/perl-Perl-osnames\>.

## BUGS

Please report any bugs or feature requests on the bugtracker website \<https://rt.cpan.org/Public/Dist/Display.html?Name=Perl-osnames\>

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

## SEE ALSO

perlvar

Config

Perl::OSType, a core module. You should probably use this module instead. Currently the difference between this module and Perl::osnames: 1) Perl::osnames currently doesn't list beos/haiku as Unix, but POSIX; 2) Perl::osnames provides more tags (like sysv, bsd, posix) and description.

Devel::Platform::Info

The output of `"perl -V"`

App::osnames, the original reason for Perl::osnames. With this CLI tool you can grep OS names by name, tag, or description, e.g. `"osnames solaris"` or `"osnames posix"`.

## AUTHOR

perlancar \<perlancar@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2020, 2014 by perlancar@cpan.org.

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