#!/usr/bin/perl -- use strict; use warnings; ... Main( @ARGV ); exit( 0 ); sub Main { my $file = shift || 'thefyle.xxx' ; my $workbook = create_workbook( $file ); ... } sub create_workbook { my( $filename ) = @_; my $workbook = ...; ... return $workbook; }