---
name: "Apache2::Util"
section: "3pm"
platform: "linux"
package: "libapache2-mod-perl2"
version: "2.0.13-2+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Apache2::Util"
---

# Apache2::Util(3pm)

Perl API for Misc Apache Utility functions

## NAME

Apache2::Util - Perl API for Misc Apache Utility functions

## Synopsis

```
  use Apache2::Util ();

  # OS escape path
  $escaped_path = Apache2::Util::escape_path($path, "a 'long' file.html");

  # format time as a string
  my $fmt = "%a, %D %H:%M:%S %Z";
  $fmtdate = Apache2::Util::ht_time($r->pool, $r->request_time, $fmt, 0);
```

## Description

Various Apache utilities that don't fit into any other group.

## Functions API

`"Apache2::Util"` provides the following functions and/or methods:

### "escape\_path"

convert an OS path to a URL in an OS dependent way.

```
  $escaped_path = Apache2::Util::escape_path($path, $p);
  $escaped_path = Apache2::Util::escape_path($path, $p, $partial);
```

- arg1: $path ( string )

  The path to convert

- arg2: $p ( "APR::Pool" )

  The pool to allocate from

- opt arg3: $partial ( boolean )

  if TRUE, assume that the path will be appended to something with a '/' in it (and thus does not prefix "./")

  if FALSE it prepends `"./"` unless `$path` contains `":"` optionally followed by `"/"`.

  the default is TRUE

- ret: $escaped\_path ( string )

  The escaped path

- since: 2.0.00

  ### "ht\_time"

Convert time from an integer value into a string in a specified format

```
  $time_str = Apache2::Util::ht_time($p);
  $time_str = Apache2::Util::ht_time($p, $time);
  $time_str = Apache2::Util::ht_time($p, $time, $fmt);
  $time_str = Apache2::Util::ht_time($p, $time, $fmt, $gmt);
```

- arg1: $p ( "APR::Pool object" )

  The pool to allocate memory from

- opt arg2: $time ( number )

  The time to convert (e.g., `time()` or `"$r->request_time"`).

  If the value is not passed the current time will be used.

- opt arg3: $fmt ( string )

  The format to use for the conversion, using [**strftime**(3)](/strftime/3.md) tokens.

  If the value is not passed the default format used is:

  ```
    "%a, %d %b %Y %H:%M:%S %Z"
  ```

- opt arg4: $gmt ( boolean )

  The time will be not converted to GMT if FALSE is passed.

  If the value is not passed TRUE (do convert) is used as a default.

- ret: $time\_str (string)

  The string that represents the specified time

- since: 2.0.00

  Examples:

Use current time, the default format and convert to GMT:

```
  $fmtdate = Apache2::Util::ht_time($r->pool);
```

Use my time, the default format and convert to GMT:

```
  my $time = time+100;
  $fmtdate = Apache2::Util::ht_time($r->pool, $time);
```

Use the time the request has started, custom format and don't convert to GMT:

```
  my $fmt = "%a, %D %H:%M:%S %Z";
  $fmtdate = Apache2::Util::ht_time($r->pool, $r->request_time, $fmt, 0);
```

## See Also

mod\_perl 2.0 documentation.

## Copyright

mod\_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

## Authors

The mod\_perl development team and numerous contributors.
