Not sure I'm doing this right way, but changing this line:
fh => $serialDevice->{'HANDLE'},
to this line
fh => new_from_fd IO::Handle ($serialDevice->{FD}, "w"),
Fixed Filehandle GEN0 opened only for input bug for me on RPi 2. Fix works because of $serialDevice->{'HANDLE'} is opened as read only in SerialDevice and should not be used for write:
# a handle object for ioctls: read-only ok
$self->{HANDLE} = new_from_fd IO::Handle ($self->{FD}, "r");