murugu has asked for the wisdom of the Perl Monks concerning the following question:
Hi monks,
I having an array which consist of the level values of the section in a book.
I want to generate the another array which will be based on the levels in the previous array.
Input:
@t=(0,1,1,2,3,2,1,2)
Here 0 means section 1, 1 means section 2, etc.
Output:
@out=(1, 1.a, 1.b, 1.b.1, 1.b.1.a, 1.b.2, 1.c, 2, 2.a, 2.a.1); In the output array i want even
@t=(0,1,1,2,3,2,1,0,1,2); $"='.'; my %h=( '1'=> 'a', '2'=> 'b', '3'=> 'c', '4'=> 'd', '5'=> 'e', '6'=> 'f', '7'=> 'g', '8'=> 'h', '9'=> 'i', '10'=> 'j', '11'=> 'k', '12'=> 'l', '13'=> 'm', '14'=> 'n', '15'=> 'o', '16'=> 'p', '17'=> 'q', '18'=> 'r'); my @s; foreach my $t (@t) { my $s; my @id=map{$s++;($s%2 == 0)?$h{$_}:$_}map{$#s=$_;++$s[$_];@s}$t; push(@out, "@id"); } print @out;
Even though Im getting the desired output. I dont want to use an hash which consist of alpahbetic values for corresponding numerals. Does it can be done with the help of chr function or any other way.
Many thanks in advance.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: array value generation for sections
by Zed_Lopez (Chaplain) on Jul 08, 2004 at 10:39 UTC | |
by muba (Priest) on Jul 08, 2004 at 10:56 UTC | |
by muntfish (Chaplain) on Jul 08, 2004 at 11:27 UTC | |
|
Re: array value generation for sections
by pbeckingham (Parson) on Jul 08, 2004 at 13:34 UTC |