You could make it so:
#!/usr/bin/env perl use strict; use warnings; use IO::All; use Storable; use Set::Scalar; my $dir = shift || die $!; my $io = io($dir); my @listing = map { $_->name } $io->all_files(0); my $file = qq(./listing.dat); if ( !-e $file ) { store \@listing, $file; exit; } my $old_listing = retrieve($file); my $new_set = Set::Scalar->new(@listing); my $old_set = Set::Scalar->new(@$old_listing); my $difference = $new_set - $old_set; my $union = $old_set + $new_set; @listing = $union->elements; store \@listing, $file; print join qq(\n), $difference->elements; __END__
Please see also IO::All, Storable, Set::Scalar, map, join and perlreftut.
Regards, Karl
Edit: added shebang.
«The Crux of the Biscuit is the Apostrophe»
In reply to Re: getting files recursively from a directory structure
by karlgoethebier
in thread getting files recursively from a directory structure
by pawansharma01
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |