#!/usr/bin/perl -- use strict; use warnings; use MIME::Parser; ... Main( @ARGV ); exit( 0 ); sub Maincakes { ... my @files = get_files( $fromdir ); for my $file ( @files ){ iwant_iphone_links( $file ) or iwant_other_links( $file ) or iwant_pancake_links( $file ); } } sub iwant_iphone_links { ...; return $stop_or_keep_going } sub iwant_other_links { ...; return 1 } sub iwant_pancake_links { ...; return 0 } __END__