#!/usr/bin/perl -w use Data::Dumper; use strict; my ($arg1,$arg2,$arg3) = qw(arg1 arg2 arg3); my $ret_val = my_sub($arg1, "", $arg2, "", "", $arg3); sub my_sub{ print Dumper(\@_); my $arg1 = shift; my $undef1 = shift; my $arg2 = shift; my $undef2 = shift; my $undef3 = shift; my $arg3 = shift; ....... and so on }