I would like to call your attention to
Lemon::Graph, which I coded up, and use on a daily basis, as an alternative to
Boost::Graph. Lemon::Graph is a Perl wrapper around LEMON, a C++ graph library that is thought to have a much saner interface than Boost Graph and provides useful additions like a built-in linear programming API, etc.
Here is how a simple Dijkstra run would look like in Lemon::Graph
use Lemon::Graph;
# read graph from file with a cost map encoding arc lengths
my $graph = Lemon::GraphReader->new("some_graph.lgf")->
arcMap("cost", my $cost)->
run();
my $source = ... some node ...;
my $destination = ... some other node ...;
# create a shortest path object
my $d = Lemon::Dijkstra->new($graph, $cost);
# run Dijkstra from $source
$d->run($source);
# get the distance to $destination
my $dist = $d->dist($destination);
The bad news is that I have never ever tried to compile Lemon::Graph under Windows, but I see no reason why it shouldn't work. Please, report back if you manage to compile it.