BillKSmith has asked for the wisdom of the Perl Monks concerning the following question:
I want to derive a new class from IO::Dir. The only difference should be that the new class overrides the read method with a new one which only returns .pl files. To keep things as simple as possible, Version 0 of the new method does nothing but return undef. The following code always returns the message:
Can't find method "new" via package "IO::Dir::pl"...
use strict; use warnings; use Autodie; use IO::Dir; my $dh = IO::Dir::pl->new('.'); while (my $file_name = $dh->read_pl()){ print STDOUT "$file_name\n"; } package IO::Dir::pl; use vars '@ISA'; @ISA = ('IO::Dir'); sub read{ my $self = shift; warn "Ok We got here.\n"; return undef; }
The @ISA array does not appear to work as expected.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: My first attempt at inheritance
by shmem (Chancellor) on May 31, 2013 at 19:02 UTC | |
by choroba (Cardinal) on May 31, 2013 at 19:10 UTC | |
by shmem (Chancellor) on May 31, 2013 at 19:15 UTC | |
|
Re: My first attempt at inheritance
by perl-diddler (Chaplain) on Jun 01, 2013 at 02:34 UTC | |
by tobyink (Canon) on Jun 01, 2013 at 09:52 UTC | |
by perl-diddler (Chaplain) on Jun 01, 2013 at 10:18 UTC | |
|
Re: My first attempt at inheritance
by tobyink (Canon) on May 31, 2013 at 20:47 UTC | |
|
Re: My first attempt at inheritance
by Anonymous Monk on Jun 01, 2013 at 14:06 UTC | |
by fishmonger (Chaplain) on Jun 01, 2013 at 14:15 UTC | |
by BillKSmith (Monsignor) on Jun 01, 2013 at 20:32 UTC |