File: shuffle.pl

package info (click to toggle)
freeswan 2.04-11.3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 23,340 kB
  • ctags: 12,260
  • sloc: ansic: 72,499; sh: 14,497; asm: 3,312; perl: 3,153; xml: 2,961; makefile: 2,702; tcl: 620; exp: 612; pascal: 228; sed: 206; awk: 124; lisp: 3
file content (29 lines) | stat: -rw-r--r-- 375 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl

# Takes a file as standard input, and emits a random order 
# for the file. Argument says how many lines to actually emit.

$howmany=shift;
if($howmany < 1) {
  $howmany=1;
}

@lines=();

$count=1;

while(<>) {
  $lines[$count++]=$_;
}

# init random seed.
srand(time|$$);

while($howmany-- > 0) {
  $which=int(rand($count))+1;

  print $lines[$which];
}