Perl: recipe_5.4.pl PDF Print E-mail
Wednesday, 23 September 2009 21:35
#!/usr/bin/perl

$DEPTH = 26;
$TAGLEN = 8;

sub randomTag {
my $tag = "";
for( $i = 0; $i<$TAGLEN; $i++ ) {
# random char between "A" and "Z"
my $char = chr(int(rand(26)) + ord("A"));
$tag .= $char;
}
return $tag;
}

# First, build an array of tags and print all the opening tags.
my @randomXML = ();
for (my $i=0; $i < $DEPTH; $i++ ) {
$randomXML[$i] = randomTag();
print " " x $i . "<" . $randomXML[$i] . ">\n";
}
print "deep!\n";

# now print all the closing tags.
for (my $i=$DEPTH-1; $i >= 0; $i-- ) {
print " " x $i . " . $randomXML[$i] . ">\n";
}
# We don't do this recursively, because we might blow our own stack