#!/usr/bin/perl use strict; use warnings; use Graph::Directed; my @array1= ( 1, 2, 3, 4); my @array2= ( 5, 6, 7, 8); my @array3= ( 9, 10, 11, 12); my $graph = Graph::Directed->new; $graph->add_path(@array1); $graph->add_path(@array2); $graph->add_path(@array3); my @ordered = $graph->toposort(); print "@ordered";