saurabh2k26:
You don't really need external modules to handle problems like this. It's pretty simple to represent graphs and trees with the basic perl data structures:
$ cat foo.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dump qw(pp);
my $t = <DATA>;
my ($nV, $nE) = split /\s+/,$t;
# read graph
my %G;
my ($src, $dst);
while (<DATA>) {
next if /^\s+$/;
($src, $dst) = split /\s+/;
last if !$nE--;
$G{$src}{$dst}=0;
$G{$dst} = {} if ! exists $G{$dst};
}
print pp(\%G),"\nStart: $src, End: $dst\n\n";
__DATA__
5 6
1 2
2 3
2 4
4 5
1 3
3 5
1 5
$ perl foo.pl
{
1 => { 2 => 0, 3 => 0 },
2 => { 3 => 0, 4 => 0 },
3 => { 5 => 0 },
4 => { 5 => 0 },
5 => {},
}
Start: 1, End: 5
Since your data was a graph, I used a hash to represent the data. If you had a tree, you could use nested array references. Once you read it in, it's just a matter of adding the algorithm you want to try.
...roboticus
When your only tool is a hammer, all problems look like your thumb.