This module is pretty much copied from a roguelike that I started writing.

example 1:

use Games::Roguelike::Caves;
my $map = generate_cave(50,20);
for (@$map){

for (@$_){

print;
}
print "\n"
}
OUTPUT:

             ........                     ......  
            ..........         ......    ........ 
        ...............       ........  ......... 
       .................      ................... 
       .................      ..................  
        ................     ...................  
   ..    ...............    ..................... 
  ....    .....  .......    ..................... 
  ....     ...    ......    .......  ............ 
  ....     ...    ......    ....      ........... 
   ..      ....   .....      ..       ........... 
          ......   ....      ..        .........  
      ..........   ....     ...        .........  
    ............    ..     ....       ..........  
   ..............         ......     ......  ..   
   ...............        ......    ......        
    ...     ......         .....    .....         
             ....           ...      ...          

example 2:

use Games::Roguelike::Caves;

my $map = generate_cave(50,20);
outline_walls ($map);
for (@$map){

for (@$_){

print;
}
print "\n"
}

OUTPUT

|-------------| |---| |-.............-| |--| |-...-| |...............| |--..-||-.....| |...............| |--| |-.....--......| |-......----....-| |-..-| |.............-| |-....-| |-....-| |-....| |............-| |-...-| |-.....---.....| |-...........| |-....----..............| |-..........| |----.......................| |-.........| |-..........................-| |-.........| |-...........................| |.........-| |............................| |........-| |...........................-| |........-| |.......................----| |-........-| |-.....................-| |---......| |-...................-|

|-.....| |...................| |....-| |..................-| |-..-| |-.............----| |--| |-------------| Ecample 3: use Games::Roguelike::Caves; #2 iterations, 50% walls... my $map = generate_cave(50,20,2,.5,"W",' '); outline_walls ($map,"W",' '); for (@$map){

for (@$_){

print; } print "\n" }

OUTPUT
W|---|WW|-----|WW|-|WWWWWW|---|W|----|WWWWWW|--|WW W| -||- -||- |WWWW|-- --- ----|W|- |WW W| -- -- |WWW|- --| |WW W|- --- --|WW|- | |WW WW|- --|-- |WWWW| --- |WW W|-- -||- ||-|W|- -|W| | -|W W| -|| -|- --- |----- --| -| |- || | -- |-- | | | -- -||--- | | -- --|W| | | -||- ---- ||- | | | -|WW| -|WW| -- -|- | |------| --||----- ----- |W|- | W| |--|W|- | -|WW|----- -||- | W|- |W|--| -|WWW|--|---- || | W| ||- -- -- |WW|- -|WW|-- -|| | W|--- -|- || -|WW| |WWWW|-|W| -| WWWW|-|| | | | || |WWW|- |WWWWWWWW|--|W WWWWWWW|- |-|-|---|| --|WWWW|- |WWWWWWWWWWWWW WWWWWWWW|-----|WWWWWWWW|-|WWWWWWW|--|WWWWWWWWWWWWW