Server IP : 149.255.58.128 / Your IP : 216.73.216.69
System : Linux cloud516.thundercloud.uk 5.14.0-427.26.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 17 15:51:13 EDT 2024 x86_64
PHP Version : 8.2.28
Disable Function : allow_url_include, apache_child_terminate, apache_setenv, exec, passthru, pcntl_exec, posix_kill, posix_mkfifo, posix_getpwuid, posix_setpgid, posix_setsid, posix_setuid, posix_setgid, posix_seteuid, posix_setegid, posix_uname, proc_close, proc_get_status, proc_open, proc_terminate, shell_exec, show_source, system
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Upload Files :
Command :
Current File : /usr/share/perl5//DirHandle.pm
package DirHandle;
our $VERSION = '1.05';
=head1 NAME
DirHandle - (obsolete) supply object methods for directory handles
=head1 SYNOPSIS
# recommended approach since Perl 5.6: do not use DirHandle
if (opendir my $d, '.') {
while (readdir $d) { something($_); }
rewind $d;
while (readdir $d) { something_else($_); }
}
# how you would use this module if you were going to
use DirHandle;
if (my $d = DirHandle->new(".")) {
while (defined($_ = $d->read)) { something($_); }
$d->rewind;
while (defined($_ = $d->read)) { something_else($_); }
}
=head1 DESCRIPTION
B<There is no reason to use this module nowadays.>
The C<DirHandle> method provide an alternative interface to the
opendir(), closedir(), readdir(), and rewinddir() functions.
Up to Perl 5.5, opendir() could not autovivify a directory handle from
C<undef>, so using a lexical handle required using a function from L<Symbol>
to create an anonymous glob, which took a separate step.
C<DirHandle> encapsulates this, which allowed cleaner code than opendir().
Since Perl 5.6, opendir() alone has been all you need for lexical handles.
=cut
require 5.000;
use Carp;
use Symbol;
sub new {
@_ >= 1 && @_ <= 2 or croak 'usage: DirHandle->new( [DIRNAME] )';
my $class = shift;
my $dh = gensym;
if (@_) {
DirHandle::open($dh, $_[0])
or return undef;
}
bless $dh, $class;
}
sub DESTROY {
my ($dh) = @_;
# Don't warn about already being closed as it may have been closed
# correctly, or maybe never opened at all.
local($., $@, $!, $^E, $?);
no warnings 'io';
closedir($dh);
}
sub open {
@_ == 2 or croak 'usage: $dh->open(DIRNAME)';
my ($dh, $dirname) = @_;
opendir($dh, $dirname);
}
sub close {
@_ == 1 or croak 'usage: $dh->close()';
my ($dh) = @_;
closedir($dh);
}
sub read {
@_ == 1 or croak 'usage: $dh->read()';
my ($dh) = @_;
readdir($dh);
}
sub rewind {
@_ == 1 or croak 'usage: $dh->rewind()';
my ($dh) = @_;
rewinddir($dh);
}
1;
Name |
Size |
Last Modified |
Owner / Group |
Permissions |
Options |
.. | -- | May 20 2025 21:42:20 | 0 / root | 0755 | |
Attribute | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
B | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
CPAN | -- | February 05 2024 20:05:52 | 0 / root | 0755 | |
Class | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Compress | -- | February 05 2024 19:59:43 | 0 / root | 0755 | |
Config | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
DBM_Filter | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Devel | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
ExtUtils | -- | May 30 2024 07:43:48 | 0 / root | 0755 | |
File | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Getopt | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
I18N | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
IO | -- | February 05 2024 19:59:43 | 0 / root | 0755 | |
IPC | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Locale | -- | April 03 2024 14:39:19 | 0 / root | 0755 | |
Math | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Memoize | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Module | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Net | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Pod | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Search | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Term | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Text | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
Thread | -- | May 30 2024 07:43:02 | 0 / root | 0755 | |
Tie | -- | May 30 2024 07:43:02 | 0 / root | 0755 | |
Time | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
URI | -- | October 13 2023 17:01:25 | 0 / root | 0755 | |
Unicode | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
User | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
encoding | -- | May 30 2024 07:43:02 | 0 / root | 0755 | |
overload | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
pod | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
unicore | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
vendor_perl | -- | January 17 2025 17:38:37 | 0 / root | 0755 | |
warnings | -- | May 30 2024 07:43:01 | 0 / root | 0755 | |
| | | | | |
AnyDBM_File.pm | 2.557 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
AutoLoader.pm | 15.427 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
AutoSplit.pm | 19.177 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
Benchmark.pm | 30.299 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
CORE.pod | 3.113 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
DB.pm | 18.479 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
DBM_Filter.pm | 14.048 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
DirHandle.pm | 2.036 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
Dumpvalue.pm | 17.254 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
English.pm | 4.649 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
FileCache.pm | 5.419 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
FileHandle.pm | 6.625 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
FindBin.pm | 4.454 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
Internals.pod | 2.515 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
Memoize.pm | 35.344 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
NEXT.pm | 18.54 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
PerlIO.pm | 14.103 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
Safe.pm | 24.77 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
SelectSaver.pm | 1.051 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
SelfLoader.pm | 17.271 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
Symbol.pm | 4.687 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
Test.pm | 29.338 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
Thread.pm | 8.095 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
UNIVERSAL.pm | 6.439 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
URI.pm | 34.135 KB | March 03 2021 15:16:52 | 0 / root | 0644 | |
XSLoader.pm | 10.988 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
_charnames.pm | 33.351 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
autouse.pm | 4.139 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
base.pm | 10.704 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
blib.pm | 2.014 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
bytes.pm | 3.652 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
bytes_heavy.pl | 0.74 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
charnames.pm | 20.44 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
deprecate.pm | 4.495 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
diagnostics.pm | 18.847 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
dumpvar.pl | 15.19 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
feature.pm | 18.558 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
fields.pm | 9.253 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
filetest.pm | 3.909 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
if.pm | 3.526 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
integer.pm | 3.178 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
less.pm | 3.129 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
locale.pm | 4.741 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
meta_notation.pm | 2.067 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
open.pm | 8.313 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
overload.pm | 52.053 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
overloading.pm | 1.766 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
perl5db.pl | 309.662 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
sigtrap.pm | 8.531 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
sort.pm | 3.819 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
strict.pm | 4.627 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
subs.pm | 0.88 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
utf8.pm | 10.179 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |
vars.pm | 2.4 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
vmsish.pm | 4.212 KB | April 03 2024 14:39:02 | 0 / root | 0644 | |
warnings.pm | 49.353 KB | April 03 2024 14:35:12 | 0 / root | 0644 | |