#!/usr/bin/perl -- use strict; use warnings; use WWW::Mechanize 1.86; ... # your other modules Main( @ARGV ); exit( 0 ); sub Main { my $user = ... GetSaveOMI( $user, $password , 'events.xml' ); } sub GetSaveOMI { my( $user, $password, $outfile ) = @_; my $omi_url = ...; my $ua = WWW::Mechanize->new( ... ); $ua->get( $omi_url , ':content_file' => $outfile ); ## regular LWP usage return $ua; }