#!/usr/bin/perl $filename ="problems.dat"; $MAXLINES=50; open(PROBLEMS, "< $filename") || die ("couldn't open $filename: $!\n"); @filecontents =; close(PROBLEMS); my @zadachi; my $line; # parsing the file for $line (0..@filecontents) { $filecontents[$line] =~ s/\s//; @{$zadachi[$line]}=split(/\,/, $filecontents[$line]); # print "$filecontents[$line]\n"; # print "${$zadachi[$line]}[2]\n"; } my $filelength=scalar(@zadachi); # print "file length is $filelength\n"; my @oldzadachi=@zadachi; @zadachi=(); for $line (0..$filelength) { my $numzadach=scalar(@{$oldzadachi[$line]}); # print "line is $line, numzadach is $numzadach\n"; if ($numzadach) { # print "Pushing $line to zadachi\n"; push(@zadachi,@oldzadachi[$line]); } } my $numlines=scalar(@zadachi)-1; # print "We finished parsing now... there are $numlines lines\n"; print "-----------------------------------------------------------------\n"; for $i (0..$MAXLINES) { print "Вариант $i:\ "; for $line (0..$numlines) { $numzad=scalar(@{$zadachi[$line]}); $num=int(rand($numzad)); print "${$zadachi[$line]}[$num], "; } print "\n"; print "----------------------------------------------------------------\n"; }