SpellLink

spellLinks are returned by several functions, e.g. GetSpellLink(), etc.
In essence, they are spellStrings with additional formatting to make in-game text controls display them as clickable hyperlinks.
 |cff71d5ff|Hspell:10060|h[Power Infusion]|h|r
Broken up in its components:
* "|cff71d5ff" – Colorizes the link with a blue/cyan color (all spell links are blue)
** The first two characters after pipe-c may be the alpha level, where ff is fully opaque.
** The next three sets of two characters represent the red, green, and blue levels, just like HTML.
* "|H" – "Hyperlink link data starts here"
* "spell:10060" – Read more at spellString.
* "|h" – "End of link, text follows"
* "[Power Infusion]" – The actual text displayed
* "|h" – "End of hyperlink"
* "|r" – Restores color to normal
You can extract the spellString from a given spellLink with the following pattern:
 local found, _, spellString = string.find(spellLink, "^|c%x+|H(.+)|h%[.*%]")
Note: The format of the link is similar for enchant, spell and quest links, with merely the "spellstring" changing. See spellString, itemString, enchantString and questString
== Printing links for debug ==
Printing out the contents of an spell link is perhaps not so obvious; displaying it anywhere in-game will just show you a clickable link. Reformat it slightly to ruin the escape sequences and you'll see what it really looks like:
 link = GetSpellLink(spell);
 printable = gsub(link, "\124", "\124\124");
 ChatFrame1:AddMessage("Here's what it really looks like: \"" .. printable .. "\"");
"124" is the ascii value of the "|" character. If you are writing this in a regular .lua file, feel free to go ahead and just use "|" and "||". However, if you're typing it in an in-game editor, it's better to use the ascii code escape to avoid problems.