in reply to Script help

try {...} catch{ ... } hasn't been implemented as a default construct in perl, although it (like everything else) is available as a module - and will be in perl 6 under some name or other.

(Unless I am behind the times and it's one of the very latest features, or exported by default from one of your modules.)

Instead, use eval { #try some code }; if ($@) { # catch the error }. There's no support for finally{}.

Oh, and use strict;.
A massive flamewar beneath your chosen depth has not been shown here