Just copy and paste to an editor, and change all occurrences of "·" to " ":
//·
//·Script:··Repeater
//·Author:··Eadoin·Welles·(Dario·de·Judicibus·<ddj@mclink.it>

//·Created:·7·November·2007
//·Purpose:·Receive·text·to·be·shown·in·over·text·or·to·be·read·from·notecard
//·License:·Commons·Creative·3.0
//
//·Constants
integer·CHANNEL_NUM·=·101·;
list····VALID_COMMANDS =·["say","show","reset"]·;
//·Variables
string··gsNotecardName·;
integer·giNotecardLine·;
integer·giNumNotecardLines·;
key·····gkNotecardRequest·;
list····glCardData·;
//·Functions
init()
{
····llSetText("",<0.0,0.0,0.0>,0.0)·;
}
reset()
{
····llResetScript()·;
····init()·;
}
resetCardData()
{
····gsNotecardName·=·""·;
····giNotecardLine·=·0·;
····giNumNotecardLines·=·0·;
····gkNotecardRequest·=·NULL_KEY·;
····glCardData·=·[]·;
}
showCard()
{
····if·(giNumNotecardLines·>·0)
····{
········string·sText·=·llDumpList2String(glCardData,"\n"

········llSetText(sText,<1.0,1.0,1.0>,1.0)·;
····}
}
integer·checkCard(string·asCardName)
{
····integer·iType·=·llGetInventoryType(asCardName)·;
····return·(iType·==·INVENTORY_NOTECARD)·;
}
doIt(string·asCommand,·list·alParameters)
{
····(asCommand·==·"reset"

····{
········reset()·;
····}
····else·if·(asCommand·==·"say"

····{
········string·sText·=·llDumpList2String(alParameters,"·"

········llSetText(sText,<1.0,1.0,1.0>,1.0)·;
····}
····else·if·(asCommand·==·"show"

····{
········resetCardData()·;
········gsNotecardName·=·(string)llList2String(alParameters,0)·;
········state·reading·;
····}
}
//·States
default
{
····on_rez(integer·aiStartParameter)
····{
········reset()·;
····}
····
····changed(integer·aiChange)
····{
········if((aiChange·&·CHANGED_OWNER)·||·(aiChange·&·CHANGED_INVENTORY))
········{
············reset()·;
········}
····}
····state_entry()·
····{
········llListen(CHANNEL_NUM,·"",·NULL_KEY·,·""

····}
····listen(integer·aiChannel,·string·asName,·key·akId,·string·asMessage)
····{
········if(aiChannel==·CHANNEL_NUM)
········{
············list·lMessage·=·llParseString2List(asMessage,["·"],[""])·;
············integer·iLength·=·llGetListLength(lMessage);
············if·(iLength·>·0)
············{
················string·sCommand·=·(string)llList2String(lMessage,0)·;
················if·(~llListFindList(VALID_COMMANDS,·(list)sCommand))
················{
····················lMessage·=·llDeleteSubList(lMessage,·0,·0)·;
····················doIt(sCommand,·lMessage)·;
················}
················else
················{
····················llOwnerSay("Invalid·command·'"·+·sCommand·+·"'"·)·;
················}
············}
············else
············{
················llOwnerSay("Message'"·+·asMessage·+·"'·contains·no·command"·)·;
············}
········}
····}
}
state·reading
{
····state_entry()
····{
········if·(checkCard(gsNotecardName))
········{
············gkNotecardRequest·=·llGetNumberOfNotecardLines(gsNotecardName)·;
············llSetTimerEvent(5.0)·;
········}
········else
········{
············llOwnerSay("Notecard·'"·+·gsNotecardName·+·"'·does·not·exist"

········}
····}
····timer()
····{
········llSetTimerEvent(0.0)·;
········llOwnerSay("Notecard·'"·+·gsNotecardName·+·"'·is·probably·empty"

········state·default;
····}
····dataserver(key·akQueryId,·string·asData)
····{
········if·(akQueryId·==·gkNotecardRequest·)
········{
············llSetTimerEvent(0.0)·;
············if·(asData·==·EOF)·
············{
················showCard()·;
················state·default·;
············}
············else·if·(giNumNotecardLines·==·0)·
············{
················giNumNotecardLines·=·(integer)asData·;
················gkNotecardRequest·=·llGetNotecardLine(gsNotecardName,·giNotecardLine)·;
············}
············else
············{
················glCardData··=·glCardData··+[asData]·;
················++giNotecardLine·;
················gkNotecardRequest·=·llGetNotecardLine(gsNotecardName,·giNotecardLine)·;
············}
········}
····}
}