#!/usr/bin/perl use strict; package Tie::Dirfile; use IO::Dir (); sub TIEHANDLE { my $class = shift; my $self = {}; $self->{_dir} = shift; $self->{_handle} = IO::Dir->new( $self->{_dir} ); return bless $self, $class; } sub READLINE { return shift()->{_handle}->read; } sub CLOSE { return shift()->{_handle}->close( ); } package main; local( *DH ); tie *DH, 'Tie::Dirfile' => "/bin" or die "Can't create Tie::Dirfile for /bin: $!\n"; my $i = 0; print $i++, ": ", $_, "\n" while( ); close( DH ); exit 0; __END__