# Perl

<!-- language: lang-perl -->

    print pack qq;
    \1108;
    ,hex for qw;
    2e5d66e 4b88fad 4560770 3aedf79;

Prints a friendly message for a special day!

>! Outputs `Happy Birthday!!` (Was given to a programmer friend who hates Perl.)
>! <p>
>! The white space and semicolon as the delimiting characters are meant to deceive.
>! <p>
>! **qq;\1108;** (equivalent to "H8")
>! <BR>
>! The semicolons are the delimiters for the double quote method. \110 is the octal code for H, followed by a plain 8, giving us the packing code "H8", meaning 8 hex digits
>! <p>
>! **hex**
>! <BR>
>! Converts a hex string to an integer. No parameter means it runs on $_ (default variable)
>! <p>
>! **for qw;2e5d66e 4b88fad 4560770 3aedf79;**
>! <BR>
>! The semicolons are the delimiters for the quoted list method. `for` indicates to run the entire block on the left once per each hex string.
>! <p>
>! "Unobfuscated", the script is:
>! <BR>`print pack("H8", hex($_)) for (2e5d66e 4b88fad 4560770 3aedf79);`
>! <p>
>! Each of those hex values, when de-hexed into an 8 digit number, and then packed into a 4 characters, will print 4 of the letters of **Happy Birthday!!**


[**Run it here**](http://ideone.com/rCkc5b)