# 19, [Octave], 196 bytes

<sub>Note: I made an edit to the code, to fix an error. The only change was to include the palindrome rule. This avoids a false positive for answer 10.</sub>

---

Most requirements up until now can easily be circumvented using comments and suppressed strings, making it trivial to add answers. I figured I'd make it a bit harder by **disallowing** some characters instead. 

<!-- language-all: lang-matlab -->

<pre><code>.6;%+-&gt;?|"e"|?&gt;-+%;6.
f=@(x)all(ismember('Hi, Retina!',x))&amp;sum(ismember(x,cat(2,33:36,46,91:93,'')))&lt;6&amp;x(2)&lt;60&amp;all((k=x(1:find(x==10,1)-1))==flip(k))
%













































</code></pre>

[Try it online!][TIO-jf0teed2]



**Satisfies:**

2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.

**For future answers:**

- The first character is a `.`, and so is the 21st character (palindromic rule).
- Its length is an even perfect square.
- Contains the exact sequence `->`.
- Contains the exact string `Hi, Retina!`.
- The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60.
- The 10-th character is a `"`, and so is the twelfth character (palindromic rule).
- The last non-empty line does not have any duplicate characters.
- The first line is a palindrome of length = 21
- It contains a `?`.
- It contains a `|`.
- It contains a `+`.
- It is at least 28 lines long.
- The following characters can only be used five times in total: `!"#$.[\]`.
 - Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.


[Octave]: https://www.gnu.org/software/octave/
[TIO-jf0teed2]: https://tio.run/##lVXdbts2FL7PU3BsbJGJzJjyz2KpktOhfwECDOiCAIPjdoxEJUooSpXkzHZdYFdDH6E3e4jd72q53Fv0RTLKovzTZgPCOLZ4Pp7vHIofz0n8gt3y@3vSdxr7LW@4gBwuhl5rv@H0yU7oHqEpZkKgKI95fMEzZLyOTPCGF5Fk3xnmFONmPonX8NT0WYEss9OxO32z2zcH1B50TMPAGD/tN6fIUj/tZkmJbtwponYYyQBNXZe2TYpbFGPXDUWUohuMdxo7jxn36Qf6EbjAeG6G5pFJDWcn/WCVlpFBCCbEMIGKAgyCj@PVBBLoEmNcru3otTX05bc/OK@groY6oyeGwW@5HFf2nra3eRskGUizSBZIcIkimU4KhPHeHuk1qOu2ceXQ1w784znLyfwn2gFq9Crwew2yCz/g4eVVdH0jYpmk77O8mNz@Op3NjSozD0AP1ml64LgM9kyIlcUD9MunT9bG/MdJodaAztK0DHZYp97y5s7UzTgLTiLJc4SdmXvG/SLJojlHkyI8PE2OZYGVFBwmZ@gy46lAsOXB8vyrzAearOW1f9lUyBKkbY3SlrcBgmMgohsOXmZc@lfAfr7MDZgGfHMmhBOQK5vJAGTqK4mBegNhCIokqUlpTUqbTZS7HtygVrk1m/loMHZdw4BKfdqnVgMVQrz6@ew1hOnd5y2/u7/@@Z3s/f1n9eqMu89v27vauZYHdaBDVyI5/yqus/vOfeo5/lWSOks5gNnBwYHv9ZrNTAkny3ntyd/vvnM0d62v0@PTkxcAMvhE/YMXJ2q@lm3AClZPIpuEkRDA6pnUbNfW3CZ5oYJeAtiweqO353K8kkmxxraOQS8wwjX@w4x/jZJLkVwwAWIWSW0qH22wHtqcTvIrAXaj7Wmup766@iD3mQy1gQWBgg9N0OB5@jBF5VNk6l5tOXW3nPLJBdi1aGljU227noPZNme4ybk8n/B/OK/jFKyCzuxtquJRVFza9UlkvNDHXpcPqjSOKN2DEO5RigLJ1gLbkpd6zWoNLpcLFl8EDOQ2HK7OOJIgr7VeVxpKqqEEpZ/W3IpO3Uk22ogxXmPDUYtaXUQWHsPDlb07WN3rul4thtUf3If6aaFClLveTt4wB2bHKoHNjwHqeqdp68rUdyBnqimpy6BaEuNQ9aRV2f5WwWr7cZpkBchneW1ZF2RlVPoOIknKSocwyVMRFQieS4ixZ/X3KVZOqrTFqoGViZldistAi3LAajtdYukcB6scv@2bdfCH2udW/3yggf5H@1QlrFz76BZapd0wzM2NWX2sNqHGiNpyEnOBUuz4XIhwItER8jEI1ZcJUjy@/xc "Octave – Try It Online"