---
name: "Badger::Codec::URL"
section: "3pm"
platform: "linux"
package: "libbadger-perl"
version: "0.16-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Badger::Codec::URL"
---

# Badger::Codec::URL(3pm)

URL encode/decode

## NAME

Badger::Codec::URL - URL encode/decode

## SYNOPSIS

```
    use Badger::Codec::URL;
    my $codec   = Badger::Codec::URL->new();
    my $encoded = $codec->encode("Hello World!");
    my $decoded = $codec->decode($encoded);
```

## DESCRIPTION

This module implements a subclass of Badger::Codec for URL encoding and decoding.  Note the difference between URI and URL.  URI encoding is strict and encodes characters like `";"`, `"?"` and `"/"`.  The URL codec is more lax and does not encode these characters.

The URI codec should be used for encoding URL parameters.  The URL codec can be used to encode complete URLs.

## FUNCTIONS

### encode\_url($data)

This function URL-encodes the `$data` passed as an argument.

### decode\_url($data)

This function URL-decodes the `$data` passed as an argument.

## METHODS

### encode($data)

This method URL-encodes the data referenced by the first argument. It delegates to the **encode\_url()** function.

```
    $encoded = Badger::Codec::URL->encode($data);
```

### decode($data)

This method decodes the encoded data passed as the first argument. It delegates to the **decode\_url()** function.

```
    $decoded = Badger::Codec::URL->decode($encoded);
```

### encoder()

This method returns a reference to the **encode\_url()** function.

### decoder()

This method returns a reference to the **decode\_url()** function.

## AUTHOR

Andy Wardley \<http://wardley.org/\>

## COPYRIGHT

Copyright (C) 2008-2009 Andy Wardley. All rights reserved.

## SEE ALSO

Badger::Codecs, Badger::Codec
