fuzz.pl
#!/usr/bin/env perl
# Marko Vihoma
# TOT Lisätehtävä 3.
use strict;
use warnings;
use Carp;
# Palauttaa satunnaisen mittaisen laajennettu ASCII merkkijonon, pituus väliltä
# 1-1000000000 merkkiä.
sub fuzzer {
my $chars;
for(my $i = 0; $i <= rand(1000000000); $i++) {
$chars .= chr(rand(256));
}
return $chars;
}
# Ottaa kaksi parametria ja tulostaa ne yhtenä merkkijonona tai palauttaa
# virhearvon. Varoitus: saattaa sekoittaa terminaaliemulaattorin, jolloin reset!
sub test {
my $chars1 = shift;
my $chars2 = shift;
if(length($chars1) <= 0) {
print "First parameter too small!\n";
exit 0;
}
if(length($chars2) <= 0) {
print "Second parameter too small!\n";
exit 0;
}
print "$chars1 $chars2\n" or confess("print: $!");
return 1;
}
test(fuzzer(), fuzzer());