Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# oct

Perl 5 version 26.0 documentation
Go to top
Show recent pages
Recently read

# oct

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- oct EXPR

- oct

  Interprets EXPR as an octal string and returns the corresponding value. (If EXPR happens to start off with `0x` , interprets it as a hex string. If EXPR starts off with `0b`, it is interpreted as a binary string. Leading whitespace is ignored in all three cases.) The following will handle decimal, binary, octal, and hex in standard Perl notation:

          $val = oct($val) if $val =~ /^0/;

  If EXPR is omitted, uses $_ . To go the other way (produce a number in octal), use sprintf or printf:

          my $dec_perms = (stat("filename"))[2] & 07777;    my $oct_perm_str = sprintf "%o", $perms;

  The oct function is commonly used when a string such as `644` needs to be converted into a file mode, for example. Although Perl automatically converts strings into numbers as needed, this automatic conversion assumes base 10.

  Leading white space is ignored without warning, as too are any trailing non-digits, such as a decimal point (oct only handles non-negative integers, not negative integers or floating point).