Use MySQL or another database to store the recipes - while you could do it with a flatfile, a proper database will let you query against the data with arbitrary criteria at zero coding effort on your side. castaway's DBD::SQLite suggestion is an excellent one. May I suggest you use Class::DBI to write the wrapper around the database; its Perl Advent calendar entry should make it clear how easy it makes database work.
in reply to "cook-ebook" - Should I use Perl or PHP/MySQL?
Makeshifts last the longest.