Semicolons are perfectly fine to separate table elements. His table is fine. It's also unnecessary, since redstone.getSides() returns a table of all six sides, not just those four. The suggested code above, on the other hand, isn't valid Lua.
I'd suggest replacing the modem finding loop with something like this. It first checks if the user-provided modem side will work, and if it won't, tries to use any available modem. If no modem is found, it prints a message for the user and exits.
local modemSide = false
if peripheral.getType(rside) == "modem" then
modemSide = rside
else
for _, side in ipairs(rs.getSides()) do
if peripheral.getType(side) == "modem" then
print("Couldn't find modem on "..rside..", falling back to modem on "..side)
modemSide = side
break
end
end
end
if modemSide then
rednet.open(modemSide)
else
print("Could not find modem!")
return
end
Also, you'll need to change the if statement later on.
if blah == "string" or "otherString" then doesn't work, you need to do individual comparisons for each possible string,
if blah == "string" or blah == "otherString" then.