in reply to split question

Let's see that again, slightly reformatted
my $x = '2D6-324'; print(split '-',$x)," complete\n";
Well you can see what's going on there - the print is binding to the initial set of parentheses. Instead you probably want something like this
my $x = '2D6-324'; print split('-', $x)," complete\n"; __output__ 2D6324 complete

HTH

_________
broquaint