#!/usr/bin/perl use strict; use warnings; # Untested! sub run_tests() { # your job! Maybe just system("prove"); } for my $subdir ("right","wrong") { system("net use t: \\\\localhost\\testsuite\\$subdir"); run_tests(); system("net use t: /delete"); } #### #!/usr/bin/perl use strict; use warnings; use 5.010; # Untested! sub run_tests() { # your job! } sub where_am_i() { # read $ENV{'WHERE_AM_I'}, ping a server, look up host name, whatever works } my $share={ homealone => "\\\\localhost\\testsuite", office => "\\\\develserver\\project42\\testsuite", testserver => "\\\\testingfiler\\somewhere\\tests4proj42", prodserver => "\\\\bigfiler0815\\elsewhere" }->{ where_am_i() } // die "Unknown environment"; for my $subdir ("right","wrong") { system("net use t: $share\\$subdir"); run_tests(); system("net use t: /delete"); }