in reply to Re: Bizarre hash/array [size,length,whatever-you-want-to-call-it] output
in thread Bizarre hash/array [size,length,whatever-you-want-to-call-it] output

I've added the Data::Dumper lines as you requested:
#!/usr/bin/perl use warnings; use strict; use Lingua::JA::Numbers; my $converted = "converted_numbers.csv"; my $len = $ARGV[0]; my (@numList, @rom, @kana, @kanji, %randList); open(OUTFILE, ">$converted"); binmode OUTFILE, ":utf8"; for (my $i=0; $i<$ARGV[1]; $i++) { my $genlen = int rand($len); my $max = 1 . 0 x $genlen; my $num = int rand($max); $randList{$num} = 1; } use Data::Dumper; print "Data Dump:\n"; print Dumper(\%randList) . "\n"; print "randList length: " . (scalar keys %randList) . "\n"; @numList = keys %randList; print "Length numList: " . (scalar @numList) . "\n"; for my $num (@numList){ my $jaRom = Lingua::JA::Numbers->new($num, {style=>'romaji'}); my $jaKana = Lingua::JA::Numbers->new($num, {style=>'hiragana' +}); my $jaKanji = Lingua::JA::Numbers->new($num, {style=>'kanji'}) +; push(@rom, $jaRom); push(@kana, $jaKana); push(@kanji, $jaKanji); } my (@hyphens, @noHyphens); for my $strg (@rom){ @hyphens = Lingua::JA::Numbers::to_string($strg); for my $val (@hyphens){ $val =~ s/-//g; } push(@noHyphens, join(" ", @hyphens)); } @rom = @noHyphens; my $size = scalar @numList; print $size . "\n"; foreach (my $i=0; $i<$size; $i++){ print OUTFILE $numList[$i] . "," . $rom[$i] . "," . $kana[$i] +. "," . $kanji[$i] . "\n"; } close OUTFILE;
I've also added a newline at the end of the second print statement which has exposed something else:
msnyder@msnyder:~/bin> ./num-to-jp4.pl 6 20 Data Dump: $VAR1 = { '48766' => 1, '9732' => 1, '33' => 1, '66526' => 1, '328' => 1, '4344' => 1, '438' => 1, '0' => 1, '55' => 1, '6' => 1, '5148' => 1, '182' => 1, '3' => 1, '46726' => 1, '3319' => 1, '59' => 1, '2851' => 1, '652' => 1 }; randList length: 18 Length numList: 18 18