
		dvinciguerra
		
		(usa Debian)
		
		Enviado em 10/05/2016 - 08:20h 
		Você pode fazer isso... que é **super desaconselhado**
# isso fará exatamente o que você explicou
my @vars = qw/var1 var2 var3 var4/;
eval "my \$$_" for @vars;
 
Para necessidades como essas eu aconselho utilizar um hash e adicionar os valores conforme necessário:
 
# usando hash
my %vars = (var1 => 'valor 1', var2 => 'valor 2', var3 => 'valor 3', var4 => '');
say $vars{var1};  # exibe "valor 1"
# ou usando referencias
my $vars = {var1 => 'valor 1', var2 => 'valor 2', var3 => 'valor 3', var4 => ''};
say $vars->{var1};  # exibe "valor 1"
 
**Aviso**
Imagino que tenha sido apenas para demonstrar mas nunca use variáveis com apenas números no nome (ex.: $1, $2, $3 ...). Essas variáveis são especiais utilizadas para retornar o valor dos grupos encontrados nas expressões regulares.
Ref: 
http://perldoc.perl.org/perlre.html#Capture-groups