Close. But ord($_) returns 0 not because it contains a null byte, but because it is an empty string.
print ord("");
prints: 0
(Where on earth would he be getting null bytes from?)
Indeed, the resulting array he's getting after doing
$ip = "21.23\n";
@t = split /./, $ip;
is
("", "", "", "", "", "\n")
The explanation: every character in the input string, except the newline, is used as a split delimiter. Thus you get, as a result, the stuff between those characters, which is nothing every time, except at the last character. |