my $s = shift; while ($s->get_next_bad_file) { $s->delete_file; } ...elsewhere... sub delete_file { my $s = shift;; unlink $s->selected_file, }