I also see you are using the `~~` operator.  This means you code is restricted to perl 5.10 and above.  I think we have tried to keep things 5.8 compatible, but I'm not sure there is any formal policy on this.  In any case, you may want to note somewhere that this code will only work on 5.10 and above.