19. Octave, 144 bytes
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.
.6;%+->?|"e"|?>-+%;6.
f=@(x)all(ismember('Hi, Retina!',x))&sum(ismember(x,cat(2,33:36,46,91:93,'')))<6&x(2)<60
%
Satisfies:
- The first character is a
.
. - It contains an
e
. - Its length is even.
- Its length is a perfect square.
- It contains an
a
. - It contains a
>
character. - Contains the exact string
->
. - Contains the exact string
Hi, Retina!
. - The sum of the first two Unicode code points is a multiple of 5.
- The 10-th character is a
"
. - The last non-empty line does not have any duplicate characters.
- The first line is a palindrome of length > 5.
- The first line is exactly 21 characters long (not including newline).
- It contains a
?
. - It contains a
|
. - Contains a
+
. - It is at least 28 lines long.
- 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
.
. - 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:
!"#$.[\]
. - Note that four of those are in the first line, due to the palindromic rule, and the exclamation mark is in the
'Hi, Retina!'
string.