If you want to turn input echo on and off, you need to use a module such as Term::ReadKey. It's ReadKey method allows you to turn echo on and off (it can also read
stuff immediately, without input buffering).
This works like a charm, im not sure how I managed to miss it tbh as it was on the first page of the search results from cpan, ta muchly :)
Moral of the story, dont search cpan at 3am :D