(silence), who art in heaven, Hallowed be your name. allah akbar, Your will be done, On earth as it is in heaven. Give us this day our daily bread; And forgive us our trespasses, As we also have forgiven our trespasses; And lead us not into temptation, But deliver us from being too serious. For thine is the big blue boat and the power and the glory, for ever. Amen. (silence) grant me the serenity To accept the things I cannot change, Courage to change the things I can, And wisdom to know the difference. #### #!/usr/bin/perl -w use 5.011; use Path::Tiny; use utf8; use open OUT => ':utf8'; use Data::Dump; use Text::Template; use POSIX qw(strftime); binmode STDOUT, 'utf8'; my $input = <<'(END INPUT)'; {$God}, who art in heaven, Hallowed be {$thy} name. {$Thy_kingdom_come}, {$Thy} will be done, On earth as it is in heaven. Give us this day our daily bread; And forgive us our trespasses, As we also have forgiven our trespasses; And lead us not into temptation, But deliver us from {$evil}. For thine is the {$kingdom} and the power and the glory, for ever. Amen. (END INPUT) my $input2 = <<'(END INPUT2)'; {$God} grant me the serenity To accept the things I cannot change, Courage to change the things I can, And wisdom to know the difference. (END INPUT2) my $path1 = Path::Tiny->cwd; say "path1 is $path1"; say "input is $input"; ## populate hash my $data = [ [ 'God', '(silence)', 'Борисбож', 'Elohim', 'Group Of Drunks' ], [ 'Thy_kingdom_come', 'Armageddon can wait', 'allah akbar', 'Let science be' ], [ 'evil', 'ego', 'your followers', 'being too serious' ], [ 'Thy', 'Your' ], [ 'thy', 'your' ], [ 'kingdom', 'Царство', 'realm', 'big blue boat' ] ]; #dd $data; ## main loop # set trials my $trials = 15; my $dummy = 1; my $first_second = strftime( "%d-%m-%Y-%H-%M-%S", localtime ); while ( $trials > 0 ) { # create an output file my $out_file = $path1->child( 'my_data', "$first_second", "$first_second\.$dummy.txt" ) ->touchpath; say "out_file is $out_file"; my %vars = map { $_->[0], $_->[ rand( $#{$_} ) + 1 ] } @{$data}; my $rvars = \%vars; my $template = Text::Template->new( TYPE => 'STRING', ENCODING => 'UTF-8', SOURCE => $input ) or die "Couldn't construct template: $!"; my $result = $template->fill_in( HASH => $rvars ); $out_file->append_utf8($result); $out_file->append_utf8("\n"); my $template2 = Text::Template->new( TYPE => 'STRING', ENCODING => 'UTF-8', SOURCE => $input2 ) or die "Couldn't construct template: $!"; my $result2 = $template2->fill_in( HASH => $rvars ); $out_file->append_utf8($result2); $trials -= 1; $dummy += 1; } # end while condition print "OUTFILES*******************\n"; foreach my $filename ( glob("./my_data/$first_second/*") ) { open my $fh, '<', $filename or die "can't print $filename! $!"; while ( my $line = <$fh> ) { print "$line"; } say "-------------"; close $fh; } __END__