\$\begingroup\$

Perl - 10 characters

This solution is courtesy of BrowserUK on PerlMonks, though I've shaved off some unnecessary punctuation and whitespace from the solution he posted. It's a bitwise "not" on a four character binary string.

say~"ÍÏÎË"

The characters displayed above represent the binary octets cd:cf:ce:cb, and are how they appear in ISO-8859-1 and ISO-8859-15.

Here's the entire script in hex, plus an example running it:

$ hexcat ~/tmp/ten-stroke.pl 73:61:79:7e:22:cd:cf:ce:cb:22 $ perl -M5.010 ~/tmp/ten-stroke.pl 2014

Perl (without high bits) - 14 characters

say'````'^RPQT

This uses a bitwise "or" on the two four-character strings "RPQT" and "````" (that is, four backticks).

$ ~/tmp/fourteen-stroke.pl 73:61:79:27:60:60:60:60:27:5e:52:50:51:54 $ perl -M5.010 ~/tmp/fourteen-stroke.pl 2014

(I initially had the two strings the other way around, which required whitespace between print and RPQT to separate the tokens. @DomHastings pointed out that by switching them around I could save a character.)

Perl (cheating) - 8 characters

This is probably not within the spirit of the competition, but hdb on PerlMonks has pointed out that Perl provides a variable called $0 that contains the name of the current program being executed. If we're allowed to name the file containing the script "2014", then $0 will be equal to 2014. $0 contains a digit, so we can't use it directly, but ${...} containing an expression that evaluates to 0 will be OK; for example:

say${$|}

For consistency, let's do the hexcat-then-perl thing with that:

$ hexcat 2014 73:61:79:24:7b:24:7c:7d $ perl -M5.010 2014 2014

I think this is cheating, but it's an interesting solution nonetheless, so worth mentioning.