Como posso expandir uma string como “1..15,16” em uma lista de números?

Eu tenho um aplicativo Perl que leva da linha de comando uma entrada como:

<code>application --fields 1-6,8
</code>

Eu sou obrigado a exibir os campos conforme solicitado pelo usuário na linha de comando.

Eu pensei em substituir '-' por '..' para que eu possa armazená-los em array, por exemplo

<code>$str = "1..15,16" ;
@arr2 = ( $str ) ;
@arr = ( 1..15,16 ) ;
print "@arr\n" ;
print "@arr2\n" ;
</code>

O problema aqui é que @arr funciona bem (como deveria), mas em @ arr2 a string inteira não é expandida como elementos da matriz.

Eu tentei usar seqüências de escape, mas sem sorte.

Pode ser feito assim?

questionAnswers(6)

yourAnswerToTheQuestion