Text::Password::Pronounceable::Harden - harden your pronounceable passwords


  use Text::Password::Pronounceable::Harden;
  my $pwgen = Text::Password::Pronounceable::Harden->new(min => 8, max => 12);
  $pwgen->add_filter('RandomCase', probability => 2 );


Althouh less secure than random passwords, most people have less problems to remember chunks of pronounceable characters rather than individual characters themselves. Text::Password::Pronounceable produces those, but it has the one disadvantage that it only uses lower case characters. This module tries to solve this shortcoming by providing a generic text filter to generate passwords that are at the same time easy to remember and harder to crack.

It's intended to be used with filters like Text::Pipe::RandomCase, but you can actually use any of Text::Pipes filters if you want to.


The following paramters can be passed to new(), but none of these are actually required:


The minimum numbers of characters a password should have. Defaults to 8.


The maximum numbers of characters a password should have. Defaults to 12.


A already initilized Text::Pipe::Stackable object.


A already initilized Text::Password::Pronounceable object.


generate($min, $max)

Generates a new password with Text::Password::Pronounceable and filter it through every pipe added via add_filter of the native pipe methods.

add_filter($name, @arguments)

Add the pipe segment $name to your stackable pipe and initialize it with @arguments. The construct is syntactically identical to the following:

  my $pipe = Text::Pipe->new($name, @arguments);

pop(), push(), shift(), unshift(), count(), clear() and splice()

These methods are delegated to the underlying Text::Pipe::Stackable pipe attribute. Please note, that unlike add_filter() you will have to construct the pipe segments by hand with these methods.




Mario Domgoergen <>


Please report any bugs or feature requests to bug-text-password-pronounceable-harden at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Text::Password::Pronounceable::Harden

You can also look for information at:


Copyright 2008-2009 Mario Domgoergen.

This program is free software; you can redistribute it and/or modify it under the terms the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.