... what could be the issue here.
Allow Perl to suggest what the issue might be by using the warnings pragma, which would have warned you that $string was undefined (and if you're a beginner, also diagnostics for more verbose suggestions). In addition, I would strongly suggest using the strict pragma to disallow certain practices that experience has shown to be problematic, e.g., use of variables that have not been pre-declared. So:
use diagnostics; # when you are desperate