下面code假设要从Users/stephenzou目录返回随机两个文件名。
#! /usr/bin/perl -w
use constant TARGET => '/Users/stephenzou';
my $i = 0;
my $k = 0;
my $file_1 ='';
my $file_2 = '';
local *DIR;
opendir DIR, TARGET or die "Cannot open the path ".TARGT;
while(readdir DIR){
rand ++$i < 1 and $file_1 = $_;
rand ++$k < 1 and $file_2 = $_;
}
print "$file_1 : $file_2 \n";
rand ++$i < 1 and $file_1 = $_;在循环开始时保至少会有东西赋值到$file_1。在之后的第2,第3,第n次循环过程中,$file_1分别会有1/2,2/3,n-1/n的机率被赋予其它的值。最后$file_1的值在最后一次循环中被确定。
本文提供了一个Perl脚本实例,用于从/Users/stephenzou目录中随机选择两个文件名,并在循环过程中调整选择的概率。通过代码分析,了解随机选择过程及概率变化。
2846

被折叠的 条评论
为什么被折叠?



