You should use
Gammu, it is cross-platform and its developers have taken care of all the low-level communication with the device. You can bactick it or of course read the source and figure out a better way to integrate its lib with perl.
Its configuration is as simple as (on Windows)
[gammu]
Device = com16:
connection = at
and afterwards
gammu sendsms text +12345670 -text "hello world"