So I'm getting married in October, and I started thinking about wedding vows, and so I wanted to get a better feel for what other people spend most of their wedding vow-ing time talking about. Here's a little script that came out of that effort. It takes a text file full of wedding vows (which you'll have to provide for yourself) and prints the text's triptycs.
#!/usr/bin/perl my@wordsInOrder; while (<>) { foreach ("$_" =~ m/\w+/g) { push @wordsInOrder, lc($_); } } my$trypHash = {}; for ($i=0;$i < scalar(@wordsInOrder)-2; $i++) { $trypHash->{$wordsInOrder[$i]." ".$wordsInOrder[$i+1]." ".$wordsIn +Order[$i+2]} += 1; } my$dupeHash = {}; for ($i=0;$i < scalar(@wordsInOrder)-1; $i++) { $dupeHash->{$wordsInOrder[$i]." ".$wordsInOrder[$i+1]} += 1; } my$oneHash = {}; for ($i=0;$i < scalar(@wordsInOrder); $i++) { $oneHash->{$wordsInOrder[$i]} += 1; } foreach my$one (sort {$oneHash->{$b} <=> $oneHash->{$a}} keys %{$oneHa +sh} ) { print "$one\n"; foreach my$two (sort {$dupeHash->{$b} <=> $dupeHash->{$a}} keys %{ +$dupeHash} ) { next unless $two =~ m/^$one/; print "\t$two\n"; foreach my$three (sort {$trypHash->{$b} <=> $trypHash->{$a}} k +eys %{$trypHash} ) { next unless $three =~ m/^$two/; print "\t\t$three\n"; } } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Vow Triptych
by Arunbear (Prior) on Dec 30, 2008 at 18:56 UTC | |
Re: Vow Triptych
by jwkrahn (Abbot) on Dec 30, 2008 at 17:14 UTC | |
by hashED (Novice) on Dec 30, 2008 at 17:23 UTC | |
Re: Vow Triptych
by Arunbear (Prior) on Dec 31, 2008 at 16:29 UTC |
Back to
Cool Uses for Perl