PDA

View Full Version : Would any body know of a PERL equivalent to this PHP code?


2ndChance
2005-08-18, 03:01 PM
Would any body know of a PERL equivalent to this php code that pulls a single line of data radomly from a txt file


<?
$delim = "\n";
$quotefile = "quotes.txt";
// okay, let's get going.
$fp = fopen($quotefile, "r");
$contents = fread($fp, filesize($quotefile));
$quote_arr = explode($delim,$contents);
fclose($fp);
// initiate randomness
srand((double)microtime()*1000000);
// generate random quote index
$quote_index = (rand(1, sizeof($quote_arr)) - 1);
// get quote at $quote_index and return it
$herequote = $quote_arr[$quote_index];
echo $herequote;
?>


Although this is a nice bit of randomness for php I need to impliment it in a perl script I have and well ... My brain isn't up to snuff to figure it out.

Thanks for at least taking the time to read this

2ndChance
2005-08-18, 03:05 PM
and no I didn't wirte the above code I got it out of another script "random quotes" Though I use it for random link creation with a great deal of success.

cd34
2005-08-18, 03:34 PM
#!/usr/bin/perl

open WL,"wordlist";
chomp(my @words = <WL> );
close WL;

print $words[rand(@words)];


something like that.

2ndChance
2005-08-18, 03:45 PM
lol Thanks
often the simple things confound me
I got it now thanks again

2ndChance
2005-08-19, 09:58 PM
SO I thought I would post what I did

open (RANDOMLINKS,"$data_server_path$randomlinks") || print "Could not open $data_server_path$randomlinks $! \n";
@FILE = <RANDOMLINKS>;
close(RANDOMLINKS);
$links = join('',@FILE);
@links = split(/\n/,$links);
srand(time ^ $$);
$link = rand(@links);
print "<BR>$links[$link]";
$link2 = rand(@links);
print "<BR>$links[$link2]";
$link3 = rand(@links);
print "<BR>$links[$link3]";


This will pull three random lines from a text file spit them out.
If anybody wants to use this as a randomizer by itself contact me and I will send it to you in a zip file configured so you can use it.