#!/usr/bin/env perl
use strict;
use warnings;

use Graph::Easy::Weighted;

my $gw = Graph::Easy::Weighted->new();
$gw->populate(
    [ [ 0, 1, 2, 0, 0 ], # Vertex 0 with 2 edges of weight 3
      [ 1, 0, 3, 0, 0 ], #    "   1      2 "               4
      [ 2, 3, 0, 0, 0 ], #    "   2      2 "               5
      [ 0, 0, 1, 0, 0 ], #    "   3      1 "               1
      [ 0, 0, 0, 0, 0 ], #    "   4      0 "               0
    ]
);
for my $vertex ( $gw->vertices ) {
    warn sprintf "vertex: %s weight=%.2f\n",
        $vertex->name, $gw->get_cost($vertex, 'weight');
    for my $edge ( $gw->edges ) {
        next if $edge->from->name ne $vertex->name;
        warn sprintf "\tedge to: %s weight=%.2f\n",
            $edge->to->name, $gw->get_cost($edge, 'weight');
    }
}

print $gw->as_ascii();
