Well, there are 'error' errors that stop the script - like mismatched brackets - then there are 'warning' errors that tell you something's wrong, but not bad enough to crash the program. Warnings are things you need to know about, but Perl will try to 'guess' what was meant or needed. In this case, the module needed three parameters and warned when there were only two - but it still kept going. But with the missing parameter, it couldn't give the proper result as the value it used to keep going with would have been 0 or null.
So yes, it's an 'error' but a non-fatal one.