---
name: "Hash::Case::Preserve"
section: "3pm"
platform: "linux"
package: "perl-hash-case"
version: "1.07-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Hash::Case::Preserve"
---

# Hash::Case::Preserve(3pm)

hash with enforced lower cased keys

## NAME

Hash::Case::Preserve - hash with enforced lower cased keys

## INHERITANCE

```
 Hash::Case::Preserve
   is a Hash::Case
   is a Tie::StdHash
```

## SYNOPSIS

```
  use Hash::Case::Preserve;
  tie my(%cphash), 'Hash::Case::Preserve';
  $cphash{StraNGeKeY} = 3;
  print keys %cphash;         # StraNGeKeY
  print $cphash{strangekey};  # 3
  print $cphash{STRANGEKEY};  # 3
```

## DESCRIPTION

Hash::Case::Preserve extends Hash::Case, which lets you play various trics with hash keys. This extension implements a fake hash which is case-insentive. The keys are administered in the casing as they were used: case-insensitive but case-preserving.

Extends "DESCRIPTION" in Hash::Case.

## METHODS

Extends "METHODS" in Hash::Case.

### Constructors

Extends "Constructors" in Hash::Case.

- tie **%hash**, 'Hash::Case::Preserve', \[$values,\] %options

  Define `%hash` to be case insensitive, but case preserving. The hash is initialized with the `$values`, specified as ARRAY (passing flat key-value pairs) or HASH. Improves base, see "Constructors" in Hash::Case

  ```
   -Option--Default
    keep    'LAST'
  ```

  - keep =\> 'FIRST'\|'LAST'

    Which casing is the preferred casing?  The FIRST appearance or the LAST. Only stores will affect the casing, deletes will undo the definition. Defaults to LAST, which is slightly faster.

### Hidden object access

Extends "Hidden object access" in Hash::Case.

- $obj-\>**addHashData**(\\%data)

  Inherited, see "Hidden object access" in Hash::Case

- $obj-\>**addPairs**(@pairs)

  Inherited, see "Hidden object access" in Hash::Case

- $obj-\>**setHash**(\\%data)

  Inherited, see "Hidden object access" in Hash::Case

## SEE ALSO

This module is part of Hash-Case version 1.07, built on January 26, 2026. Website: *http://perl.overmeer.net/CPAN/*

## LICENSE

For contributors see file ChangeLog.

This software is copyright (c) 2002-2026 by Mark Overmeer.

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