NAME

IO::File::WithFilename - filehandles that know their origin

SYNOPSIS

use IO::File::WithFilename;

my $fh = IO::File::WithFilename->new('../movies/kin-dza-dza.ogg', O_RDONLY);
print $fh->filename, "\n";
print "$fh\n"; # same as above

DESCRIPTION

This module does everything that IO::File does, but implements filename method, that File::Temp objects have. It lets you write the code that is ignorant of what classes of objects it works with.

If you want to check if it is safe to call filename method, you are recommended to call can method rather than to check an object's inheritance:

print $obj->filename, "\n" if eval { $obj->can('filename') };

EXPORT

Same as IO::File, i. e. O_XXX constants from the Fcntl module (if this module is available).

SEE ALSO

IO::File, File::Temp

AUTHOR

Ivan Fomichev, <ifomichev@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2010 by Ivan Fomichev

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.