Por que meu script Perl falha em "~ /", mas funciona com "$ ENV {HOME}"?

Eu tenho usado esse script para sempre e sempre usei "~ /" para expandir meu diretório pessoal. Entro no trabalho hoje e ele parou de funcionar:

#if ( $output   eq "" ) { $output   = "~/tmp/find_$strings[0].rslt" } # BROKEN
if ( $output   eq "" ) { $output   = "$ENV{HOME}/tmp/find_$strings[0].rslt" } #WORKS
 ...
open OUT_FILE, ">$output" or die "cant open $output : $!";

Alguma idéia de por que isso de repente deixaria de ser preocupant

Error parece:

cant open stephen/tmp/find_coverp.rslt : No such file or directory at /user/stephen/bin/find.pl line 137.

questionAnswers(6)

yourAnswerToTheQuestion