please use Data::Dumper (or Data::Dump) to show the contents of $vars{refc}

What it showed was that the content was populated. What was causing the entire template to go wonky was that there were more files in rus_captions than in eng_captions or images. I filled undefined things with bubble gum and just got them on the net. Most of the complaining is about not being able to sftp non-existent files. I wanted to come up with some baseline defaults so that the whole page doesn't go down for lack of an image to stand in for a while.

I've gotten rid of a lot of mistakes as I dug my way back into this one. The first was not having brackets around my qw in the initialization of the array:

elt 0 0 is й elt 0 1 is elt 0 2 is elt 0 3 is л elt 0 4 is elt 0 5 is elt 0 6 is с elt 0 7 is elt 0 8 is Can't use string ("о") as an ARRAY ref while "strict refs" in us +e at template_stuff/utils1.pm line 61. $

I don't see a way to use Dumper and have that the be cyrillic, because that's what I want to see. I use Dumper for doing anything to get on the scoreboard. (Not such a high price, except that you condemn yourself to read a lot of your own data: uggh)

I've been trying to write a better print_aoa_utf8 but have only partial success. Partially, my data set needed more conditioning. The hardest thing for me to represent like this is a space.

in make russian xword------
elt 0 0 is й
elt 0 1 is  
elt 0 2 is  
elt 0 3 is л
elt 0 4 is  
elt 0 5 is  
elt 0 6 is с
elt 0 7 is  
elt 0 8 is  
elt 1 0 is о
elt 1 1 is б
elt 1 2 is л
elt 1 3 is о
elt 1 4 is м
elt 1 5 is о
elt 1 6 is в
elt 1 7 is '
elt 1 8 is '
elt 1 9 is ш
elt 2 0 is 1
elt 2 1 is 2
elt 2 2 is 3
elt 2 3 is 4
elt 2 4 is 5
elt 2 5 is 6
elt 2 6 is 7
elt 2 7 is 8
elt 2 8 is 9
return1 is nothing nyet

What I have is:

sub print_aoa_utf8 { use warnings; use 5.011; use utf8; # a la François use open OUT => ':encoding(utf8)'; use open ':std'; my $a = shift; my @AoA = @$a; for my $i ( 0 .. $#AoA ) { my $aref = $AoA[$i]; for my $j ( 0 .. $#{$aref} ) { print "elt $i $j is $AoA[$i][$j]\n"; } } return $a; }

With my difficulties getting any values initialized. I wonder how I might make it a matter of course and think that a toolkit solution would be a reasonable goal, in particular because I want to have a means for considering fonts, and we saw a tk version of trying out different fonts not long ago.

I had to make sure that all previous russian captions were erased before I went and got more:

print "Make rus captions(y/n)?: "; my $prompt1 = <STDIN>; chomp $prompt1; if ( $prompt1 eq ( "y" | "Y" ) ) { ## delete existing files foreach my $child ( $vars{rus_captions}->children ) { my $success = $child->remove; say "success deleting was $success"; } my $ref_cap = make_russian_captions($rvars); }

STDOUT then shows:

Make rus captions(y/n)?: y success deleting was 1 success deleting was 1 success deleting was 1 success deleting was 1 matching are a.txt b.txt rus_munge is /home/bob/2.scripts/pages/7.cw/template_stuff/translation +s/trans.07-01-2019-16-15-08.txt rus_path is /home/bob/2.scripts/pages/7.cw/template_stuff/ruscaptions/ +a.txt rus_path is /home/bob/2.scripts/pages/7.cw/template_stuff/ruscaptions/ +b.txt

And I figured all this out by looking at the data as haukex suggested. I've had a nice few days coding that reduces the ugly, but not completely.

sub make_russian_crossword { use 5.011; use warnings; use POSIX qw(strftime); use Path::Tiny; use Encode; use open OUT => ':encoding(UTF-8)', ':std'; use Data::Dumper; my $rvars = shift; my %vars = %$rvars; my $munge = strftime( "p%d-%m-%Y-%H-%M-%S\.txt", localtime); my $in_path = path( $vars{rus_captions}, $munge )->touchpath; ##Let mother know that you created a file, *verb* a reference: $vars{log_file}=$in_path; $rvars = \%vars; #does this line do anything for me? # open file for writing # my $fh = path($in_path)->openw_utf8; not helping say "in make russian xword------"; my $data = $vars{cw_data}; #print Dumper $data; print_aoa_utf8($data); #print $fh $data; my $a = $data; my @AoA = @$a; for my $i ( 0 .. $#AoA ) { my $aref = $AoA[$i]; for my $j ( 0 .. $#{$aref} ) { "$AoA[$i][$j]"; } print "\n"; } # ->append_utf8(@data); return "nothing nyet" }

Does the 3rd line here do anything for me or the program?

##Let mother know that you created a file, *verb* a reference: $vars{log_file}=$in_path; $rvars = \%vars; #does this line do anything for me?

What I'm reaching for at the end is a control that will go over the array, which can be seen as a column vector of row vectors. I want to iterate over the columns and print out one row at time, with no spaces and a newline at the end. Fishing for notation as to how to do that. With the output as a series of outputs of row vectors, then I think it will fit in well with the Path::Tiny method call append_utf8(@data). Then we can see how these things look on the net. Right now, it's looking pretty stable: crossword prototype shaping up.

Again, very grateful for comments,


In reply to Re^6: locating ultima thule by Aldebaran
in thread locating ultima thule by Aldebaran

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.