I want to print all the occurrence of @cg in @gl and for the corresponding index of matched @gl, i want to print @csta
Sounds like a perfect job for hashes, especially if your inputs are non-trivially large. Given @gl and @csta are of equal length, List::MoreUtils will work nicely:
#!/usr/bin/env perl
use 5.012;
use warnings FATAL => 'all';
use List::MoreUtils qw/zip/;
my @cg = (qw<one two three four five>);
my @gl = (qw<two four five>);
my @csta = (qw<II IV V>);
my %gl_csta = (zip @gl, @csta);
printf "%5s => %s\n", $_, $gl_csta{$_}
for grep { exists $gl_csta{$_} } @cg;
Output:
two => II
four => IV
five => V