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?