---
name: "XMLTV::Data::Recursive::Encode"
section: "3pm"
platform: "linux"
package: "libxmltv-perl"
version: "1.4.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/XMLTV::Data::Recursive::Encode"
---

# XMLTV::Data::Recursive::Encode(3pm)

Encode/Decode Values In A Structure

## NAME

XMLTV::Data::Recursive::Encode - Encode/Decode Values In A Structure

## SYNOPSIS

```
    use XMLTV::Data::Recursive::Encode;
    XMLTV::Data::Recursive::Encode->decode('euc-jp', $data);
    XMLTV::Data::Recursive::Encode->encode('euc-jp', $data);
    XMLTV::Data::Recursive::Encode->decode_utf8($data);
    XMLTV::Data::Recursive::Encode->encode_utf8($data);
    XMLTV::Data::Recursive::Encode->from_to($data, $from_enc, $to_enc[, $check]);
```

## DESCRIPTION

XMLTV::Data::Recursive::Encode visits each node of a structure, and returns a new structure with each node's encoding (or similar action). If you ever wished to do a bulk encode/decode of the contents of a structure, then this module may help you.

## METHODS

- decode

  ```
      my $ret = XMLTV::Data::Recursive::Encode->decode($encoding, $data, [CHECK]);
  ```

  Returns a structure containing nodes which are decoded from the specified encoding.

- encode

  ```
      my $ret = XMLTV::Data::Recursive::Encode->encode($encoding, $data, [CHECK]);
  ```

  Returns a structure containing nodes which are encoded to the specified encoding.

- decode\_utf8

  ```
      my $ret = XMLTV::Data::Recursive::Encode->decode_utf8($data, [CHECK]);
  ```

  Returns a structure containing nodes which have been processed through decode\_utf8.

- encode\_utf8

  ```
      my $ret = XMLTV::Data::Recursive::Encode->encode_utf8($data);
  ```

  Returns a structure containing nodes which have been processed through encode\_utf8.

- from\_to

  ```
      my $ret = XMLTV::Data::Recursive::Encode->from_to($data, FROM_ENC, TO_ENC[, CHECK]);
  ```

  Returns a structure containing nodes which have been processed through from\_to.

## AUTHOR

Tokuhiro Matsuno \<tokuhirom AAJKLFJEF GMAIL COM\>

gfx

## SEE ALSO

This module is inspired from Data::Visitor::Encode, but this module depended to too much modules. I want to use this module in pure-perl, but Data::Visitor::Encode depend to XS modules.

Unicode::RecursiveDowngrade does not supports perl5's Unicode way correctly.

## LICENSE

Copyright (C) 2010 Tokuhiro Matsuno All rights reserved.

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