| 
					
				 | 
			
			
				@@ -0,0 +1,100 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/usr/bin/perl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use strict; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use warnings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Read in strings from a file and generate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# an interesting song/album/artist name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# File to get strings from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+my $seed_file = $ARGV[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+my @data = split("\n", `cat $seed_file`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Length of random name (in words) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+my $length = int(1 + rand(4 - 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+my @words; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+sub word_from_seed() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	my $word = $data[ rand @data ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	chomp $word; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return $word; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+sub get_word { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	my $tmp_word = word_from_seed(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	chomp $tmp_word; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	my $final = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( $tmp_word =~ m/ / ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my @strings = split(" ", $tmp_word); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my $string = $strings[ rand @strings ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$final = $string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} elsif ( $tmp_word =~ m/\./ ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my @strings = split(".", $tmp_word); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my $string = $strings[ rand @strings ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$final = $string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$final = $tmp_word; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# Chance to splice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	my $flip = 1 + int(rand(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( $flip == 1 || $length == 1 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		# Get word, take the first 3 chars, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		# save in $splice_word 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my $splice_word = word_from_seed(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ( length $splice_word >= 3 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ( $splice_word =~ m/(^.{3})/ ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$splice_word = $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$splice_word =~ m/(^.{1})/; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$splice_word = $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		# Get final word, take last $rand chars, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		# add to splice_word 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ( ! defined $final || $final eq "" )  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$final = word_from_seed(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my $splice_char_num = 1 + int(rand(length $final)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ( $splice_char_num < 1 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$splice_char_num = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$final =~ m/(.{$splice_char_num}$)/; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my $splice_word_2 = $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$final = $splice_word . $splice_word_2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return $final; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if ( defined $ARGV[1] && $ARGV[1] eq "--gen-seed" ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	my @seed_words = (); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	foreach my $i ( 1..10000 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		my $word = get_word(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		push(@seed_words, $word); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	my $word_list = join("\n", @seed_words); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	open(my $fh, '>', "generated_seed.txt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	print $fh $word_list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	close $fh; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	exit 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+foreach my $word ( 1..$length ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	push(@words, get_word()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+my $output = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+foreach my $word (@words){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( ! defined $word || $word eq "") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		next;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$output = $output . $word . " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+print "$output\n"; 
			 |