Peiti Peter Li Peiti Peter Li - 3 months ago 13
Perl Question

how to write a module function that overrides imported function in perl

I have a question: I want to write a method called "copy" for my module M. This function is a wrapper of the imported function File::Copy::copy. So I have to use File::Copy::copy and define my own copy. But it will have an error saying that copy is redefined. How to achieve my goal?

#M.pm
package M;
use File::Copy;

#... constructor and other methods

sub copy {
my $self = shift;
my $target = shift;
File::Copy::copy($self->{'PATH'},$target);
}

Answer
use File::Copy qw( );  # Don't import anything.
Comments