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


  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);


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

Functions API

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


convert an OS path to a URL in an OS dependant 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


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) 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


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.


mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.


The mod_perl development team and numerous contributors.