use warnings; use strict; use Test::More 'no_plan'; use Test::NoWarnings; my @TESTS = ( # dirty # clean [ q{The 99th bottle's x-o-x labels'} => q{The 99th bottle's labels'} ], ... ); VECTOR: for my $ar_vector (@TESTS) { if (not ref $ar_vector) { note $ar_vector; next VECTOR; } my ($dirty, $expected) = @$ar_vector; my $clean = clean_it_up($dirty); ok $clean eq $expected, qq{'$dirty' -> '$clean'}; } # end for VECTOR done_testing; exit; # subroutine(s) ############################## sub clean_it_up { ... } ...