#!/usr/bin/perl use 5.14.2; use strict; use warnings; use Data::Dumper; use diagnostics; sub metal_stack_order { my @unsorted =@_ ; #make sure to arrange to ascending order my @sorted = sort { $a <=>$b} @unsorted; my ($Start,$End)=($sorted[0],$sorted[1]); for (my $i=$Start; $i <= ($End-1) ; $i++){ print "M$i --> V$i-->"; } } say "Enter Lowest metal layer like => \"m1\"\n"; my $input1=<>; say " Enter Highest metal like => \"m5 \"\n"; my $input2=<>; #parsing the metal layer (digits) my ($num_1)=$input1=~ m/(\d)+/; my ($num_2)=$input2=~ m/(\d)+/; #Ony exception, no equal metal layers if ($num_1 == $num_2){ say "You cannot do a layout the same layer\n"; exit; } metal_stack_order($num_1,$num_2);