#! /usr/intel/pkgs/perl/5.12.2/bin/perl use strict; use warnings; package Sub; use SVN::Client; our @ISA = ('SVN::Client'); sub ls { my $self = shift; print "Sub ls function called with arguments:\n".join("\n", @_)."\n"; $self->SUPER::ls(@_); } package main; use Data::Dumper; my $obj = Sub->new( auth => [ SVN::Client::get_simple_provider(), SVN::Client::get_ssl_server_trust_file_provider(), SVN::Client::get_simple_prompt_provider( sub {&_set_credentials(@_)}, 2 ) ] ); my @args = ( 'https://svn.repo.url', 'HEAD', 1 ); print "Calling main ls with arguments:\n".join("\n", @args)."\n\n"; my $ref = $obj->ls(@args); print STDERR Dumper($ref); ############################################################################# sub _set_credentials { my $cred = shift; $cred->username( 'username' ); $cred->password( 'password' ); }