file cabinets
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 178
File Lister 2.3
File Lister provides a Web interface for listing files and directories. more>>
File Lister provides a Web interface for listing files and directories.
FileLister is meant to be an open source alternative for listing files/directories with an easy navigateable (web-)interface.
<<lessFileLister is meant to be an open source alternative for listing files/directories with an easy navigateable (web-)interface.
Download (0.034MB)
Added: 2007-02-07 License: GPL (GNU General Public License) Price:
992 downloads
File::Comments 0.07
File::Comments is a Perl module that ecognizes file formats and extracts format-specific comments. more>>
File::Comments is a Perl module that ecognizes file formats and extracts format-specific comments.
SYNOPSIS
use File::Comments;
my $snoop = File::Comments->new();
# *----------------
# | program.c:
# | /* comment */
# | main () {}
# *----------------
my $comments = $snoop->comments("program.c");
# => [" comment "]
# *----------------
# | script.pl:
# | # comment
# | print "howdy!n"; # another comment
# *----------------
my $comments = $snoop->comments("script.pl");
# => [" comment", " another comment"]
# or strip comments from a file:
my $stripped = $snoop->stripped("script.pl");
# => "print "howdy!n";"
# or just guess a files type:
my $type = $snoop->guess_type("program.c");
# => "c"
File::Comments guesses the type of a given file, determines the format used for comments, extracts all comments, and returns them as a reference to an array of chunks. Alternatively, it strips all comments from a file.
Currently supported are Perl scripts, C/C++ programs, Java, makefiles, JavaScript, Python and PHP.
The plugin architecture used by File::Comments makes it easy to add new formats. To support a new format, a new plugin module has to be installed. No modifications to the File::Comments codebase are necessary, new plugins will be picked up automatically.
File::Comments can also be used to simply guess a files type. It it somewhat more flexible than File::MMagic and File::Type. File types in File::Comments are typically based on file name suffixes (*.c, *.pl, etc.). If no suffix is available, or a given suffix is ambiguous (e.g. if several plugins have registered a handler for the same suffix), then the files content is used to narrow down the possibilities and arrive at a decision.
WARNING: THIS MODULE IS UNDER DEVELOPMENT, QUALITY IS ALPHA. IF YOU FIND BUGS, OR WANT TO CONTRIBUTE PLUGINS, PLEASE SEND THEM MY WAY.
<<lessSYNOPSIS
use File::Comments;
my $snoop = File::Comments->new();
# *----------------
# | program.c:
# | /* comment */
# | main () {}
# *----------------
my $comments = $snoop->comments("program.c");
# => [" comment "]
# *----------------
# | script.pl:
# | # comment
# | print "howdy!n"; # another comment
# *----------------
my $comments = $snoop->comments("script.pl");
# => [" comment", " another comment"]
# or strip comments from a file:
my $stripped = $snoop->stripped("script.pl");
# => "print "howdy!n";"
# or just guess a files type:
my $type = $snoop->guess_type("program.c");
# => "c"
File::Comments guesses the type of a given file, determines the format used for comments, extracts all comments, and returns them as a reference to an array of chunks. Alternatively, it strips all comments from a file.
Currently supported are Perl scripts, C/C++ programs, Java, makefiles, JavaScript, Python and PHP.
The plugin architecture used by File::Comments makes it easy to add new formats. To support a new format, a new plugin module has to be installed. No modifications to the File::Comments codebase are necessary, new plugins will be picked up automatically.
File::Comments can also be used to simply guess a files type. It it somewhat more flexible than File::MMagic and File::Type. File types in File::Comments are typically based on file name suffixes (*.c, *.pl, etc.). If no suffix is available, or a given suffix is ambiguous (e.g. if several plugins have registered a handler for the same suffix), then the files content is used to narrow down the possibilities and arrive at a decision.
WARNING: THIS MODULE IS UNDER DEVELOPMENT, QUALITY IS ALPHA. IF YOU FIND BUGS, OR WANT TO CONTRIBUTE PLUGINS, PLEASE SEND THEM MY WAY.
Download (0.012MB)
Added: 2007-06-09 License: Perl Artistic License Price:
868 downloads
VFU File Manager 4.05
VFU is console (text mode) file manager for UNIX/Linux. more>>
VFU is console (text mode) file manager for UNIX/Linux.
During the years I tried to make short attractive list of features which VFU has. Attractive as Advertising above :) and it does not seem to work... at least it didnt for me and I never liked it.
I made all possible to make VFU cover all file managing needs and offer large set of behaviour options. If I succeeded or not, you can decide for yourself but without trying I believe noone can say for sure.
Installation:
1. how to compile vfu
run `make from vfu base directory
this should compile everything
to compile each part of vfu manually do this:
-- go to `vslib directory
-- run `make
-- go to `vfu directory
-- run `make
if something goes wrong, check these:
-- if your `curses.h file locations is not `/usr/include/ncurses
you have to change this in the Makefile.
-- if vslib library is not in the `../vslib directory you also
have to change this in the Makefile.
2. how to install vfu
run `install script from vfu base directory
install script checks if all required files are available/built and then does this:
cp vfu/vfu rx/rx_* /usr/local/bin
cp vfu.1 /usr/local/man/man1
cp vfu.conf /usr/local/etc
3. how to install vfu manually
-- you have to copy `vfu in the `/usr/local/bin or
`/usr/bin directory and set mode to 755 `rwxr-xr-x
the owner is not significant ( root is also possible ).
-- there is preliminary man page ( vfu.1 ) which could be
copied to /usr/man/man1.
-- copy all `rx/rx_* tools to /usr/local/bin
-- install Net::FTP perl module if needed.
(this is used for FTP support)
WARNING: make sure to remove all old personal cache files!
<<lessDuring the years I tried to make short attractive list of features which VFU has. Attractive as Advertising above :) and it does not seem to work... at least it didnt for me and I never liked it.
I made all possible to make VFU cover all file managing needs and offer large set of behaviour options. If I succeeded or not, you can decide for yourself but without trying I believe noone can say for sure.
Installation:
1. how to compile vfu
run `make from vfu base directory
this should compile everything
to compile each part of vfu manually do this:
-- go to `vslib directory
-- run `make
-- go to `vfu directory
-- run `make
if something goes wrong, check these:
-- if your `curses.h file locations is not `/usr/include/ncurses
you have to change this in the Makefile.
-- if vslib library is not in the `../vslib directory you also
have to change this in the Makefile.
2. how to install vfu
run `install script from vfu base directory
install script checks if all required files are available/built and then does this:
cp vfu/vfu rx/rx_* /usr/local/bin
cp vfu.1 /usr/local/man/man1
cp vfu.conf /usr/local/etc
3. how to install vfu manually
-- you have to copy `vfu in the `/usr/local/bin or
`/usr/bin directory and set mode to 755 `rwxr-xr-x
the owner is not significant ( root is also possible ).
-- there is preliminary man page ( vfu.1 ) which could be
copied to /usr/man/man1.
-- copy all `rx/rx_* tools to /usr/local/bin
-- install Net::FTP perl module if needed.
(this is used for FTP support)
WARNING: make sure to remove all old personal cache files!
Download (0.52MB)
Added: 2005-09-28 License: GPL (GNU General Public License) Price:
1487 downloads
File::Locate 0.61
File::Locate is a Perl module to search the (s)locate-database from Perl. more>>
File::Locate is a Perl module to search the (s)locate-database from Perl.
SYNOPSIS
use File::Locate;
print join "n", locate "mp3", "/usr/var/locatedb";
# or only test of something is in the database
if (locate("mp3", "/usr/var/locatedb")) {
print "yep...sort of mp3 there";
}
# do regex search
print join "n", locate "^/usr", -rex => 1, "/usr/var/locatedb";
ABSTRACT
Search the (s)locate-database from Perl
File::Locate provides the locate() function that scans the locate database for a given substring or POSIX regular expression. The module can handle both plain old locate databases as well as the more hip slocate format.
<<lessSYNOPSIS
use File::Locate;
print join "n", locate "mp3", "/usr/var/locatedb";
# or only test of something is in the database
if (locate("mp3", "/usr/var/locatedb")) {
print "yep...sort of mp3 there";
}
# do regex search
print join "n", locate "^/usr", -rex => 1, "/usr/var/locatedb";
ABSTRACT
Search the (s)locate-database from Perl
File::Locate provides the locate() function that scans the locate database for a given substring or POSIX regular expression. The module can handle both plain old locate databases as well as the more hip slocate format.
Download (0.020MB)
Added: 2006-11-11 License: Perl Artistic License Price:
1077 downloads
File Beamer 0.1.5
File Beamer is an easy to use file transfer tool. more>>
File Beamer is an easy to use file transfer tool. The programm is platform independent. That means it runs with Windows 98/ME/2000/XP, Linux, Unix and MacOS X.
This is made possible by using Trolltechs Qt Library which provides an easy to use GUI toolkit, networking functions and a lot more.
File Beamer is free open source software and was released under the GPL license.
Usage:
Receiving files:
Click the "Receive" tab
If the receiver is behind a firewall or router, check "reverse connection" and enter the senders IP or host name. *
Click the "listen" button. The client can now receive files
When receving a file, a "Save as" dialog appears. Choose a place to safe the file.
Sending files:
Click the "Send" tab
If the receiver is behind a firewall or router check "reverse connection" *
Else input the target IP address or host name and port
Select a file to send either by typing the path or by clicking the "..." button
Click the "Send" button (target must be in listen mode)
<<lessThis is made possible by using Trolltechs Qt Library which provides an easy to use GUI toolkit, networking functions and a lot more.
File Beamer is free open source software and was released under the GPL license.
Usage:
Receiving files:
Click the "Receive" tab
If the receiver is behind a firewall or router, check "reverse connection" and enter the senders IP or host name. *
Click the "listen" button. The client can now receive files
When receving a file, a "Save as" dialog appears. Choose a place to safe the file.
Sending files:
Click the "Send" tab
If the receiver is behind a firewall or router check "reverse connection" *
Else input the target IP address or host name and port
Select a file to send either by typing the path or by clicking the "..." button
Click the "Send" button (target must be in listen mode)
Download (2.8MB)
Added: 2005-11-08 License: GPL (GNU General Public License) Price:
1578 downloads
file*HANDLER 0.13
file*HANDLER is primarily a Perl script which coordinates some free media conversion packages with a PostgreSQL back end. more>>
file*HANDLER project is primarily a Perl script which coordinates some free media conversion packages (cited later) with a PostgreSQL back end accessing server to index and serve binary and text files direct from the database. A simple CGI file with embedded AJAX makes calls to this server which is also constantly looking for other alive f*H servers on the Internet.
Since the server caches media into the SQL database on demand, as the network grows, the network improves.
Its gridded directory sharing/browsing/searching with streaming audio/video as well as flat text/doc/pdf/image display for everyone. Its written with a few hooks for tags that would be included in your actual front page so that the UI is discard-able -- anyone can quickly rewrite a whole new [GT]UI without having to worry about the syntax of the newest version of dojo.licio.r or whatever.
If you wanted to ignore the JS/HTML/CSS hooks then you can easily use the system to make direct requests that just return lists formatted as HTML table-bodies. In other words, the markup IS the markup.
As such, Ive whipped up a Dojo 0.2 Widget that coordinates the serving backend with a UI so anyone can embed f*H functionality anywhere, or easily customize a provided default page.
A file*HANDLER server is really a few constituent parts Ive tied up for you (top down):
- A local web page providing the UI(served by an HTTP server of your choice) that is generated by a cgi script with embedded AJAX.
- A secondary portion of the same CGI script, acting as middle-ware, which communicates, via AJAX, with the local front page to reconcile asynchronous JavaScript requests with the file*HANDLER sub-network back-end.
- An always-on network server written in PERL that serves to the front and end communicates laterally with everyone elses file*HANDLER back-end PERL server additionally, it manages indexing of content directories you choose to serve.
- A PostgreSQL database that is accessed only via internal PERL routines called from your front page.
So for example, a remote user comes to your site. First, not only can they browse and search your files, but they can also browse and search the files of anyone else hosting a file*HANDLER server that your local server knows about. (file*HANDLER identifies other servers on the network automatically). The user can now read/view/listen/watch by stream any content they find from whomevers server. Theres no download, so theres so actual sharing, just direct streaming to the users browser.
<<lessSince the server caches media into the SQL database on demand, as the network grows, the network improves.
Its gridded directory sharing/browsing/searching with streaming audio/video as well as flat text/doc/pdf/image display for everyone. Its written with a few hooks for tags that would be included in your actual front page so that the UI is discard-able -- anyone can quickly rewrite a whole new [GT]UI without having to worry about the syntax of the newest version of dojo.licio.r or whatever.
If you wanted to ignore the JS/HTML/CSS hooks then you can easily use the system to make direct requests that just return lists formatted as HTML table-bodies. In other words, the markup IS the markup.
As such, Ive whipped up a Dojo 0.2 Widget that coordinates the serving backend with a UI so anyone can embed f*H functionality anywhere, or easily customize a provided default page.
A file*HANDLER server is really a few constituent parts Ive tied up for you (top down):
- A local web page providing the UI(served by an HTTP server of your choice) that is generated by a cgi script with embedded AJAX.
- A secondary portion of the same CGI script, acting as middle-ware, which communicates, via AJAX, with the local front page to reconcile asynchronous JavaScript requests with the file*HANDLER sub-network back-end.
- An always-on network server written in PERL that serves to the front and end communicates laterally with everyone elses file*HANDLER back-end PERL server additionally, it manages indexing of content directories you choose to serve.
- A PostgreSQL database that is accessed only via internal PERL routines called from your front page.
So for example, a remote user comes to your site. First, not only can they browse and search your files, but they can also browse and search the files of anyone else hosting a file*HANDLER server that your local server knows about. (file*HANDLER identifies other servers on the network automatically). The user can now read/view/listen/watch by stream any content they find from whomevers server. Theres no download, so theres so actual sharing, just direct streaming to the users browser.
Download (0.049MB)
Added: 2006-02-17 License: GPL (GNU General Public License) Price:
1347 downloads
File 4.21
File attempts to classify files depending on their contents and prints a description if a match is found. more>>
File is the open source implementation of the file command used on almost every free operating system (OpenBSD, Linux, FreeBSD, NetBSD) and also on systems that use free software (including OS/2, DOS, MS Windows, etc.).
The file command, if youre not familiar with it, is a command-line tool that tells you in words what kind of data a file contains. Unlike MS-Windows, UNIX and other systems dont rely on filename extentions to tell you the type of a file, but look at the files actual contents. This is, of course, more reliable, but requires a bit of I/O.
The original file command shipped with Bell Labs UNIX but was unavailable in source form to the masses before Ians reimplementation.
This file command (and magic file) was originally written by Ian Darwin (who still contributes occasionally) and is now maintained by a group of developers lead by Christos Zoulas.
Whos using it?
Every known BSD distribution (FreeBSD, NetBSD, OpenBSD, Darwin/Mac OS X, etc)
Every known Linux distribution
The Apache httpd server mod_mime_magic module uses the file commands innards to make file type guessing more reliable under Apache HTTPD.
<<lessThe file command, if youre not familiar with it, is a command-line tool that tells you in words what kind of data a file contains. Unlike MS-Windows, UNIX and other systems dont rely on filename extentions to tell you the type of a file, but look at the files actual contents. This is, of course, more reliable, but requires a bit of I/O.
The original file command shipped with Bell Labs UNIX but was unavailable in source form to the masses before Ians reimplementation.
This file command (and magic file) was originally written by Ian Darwin (who still contributes occasionally) and is now maintained by a group of developers lead by Christos Zoulas.
Whos using it?
Every known BSD distribution (FreeBSD, NetBSD, OpenBSD, Darwin/Mac OS X, etc)
Every known Linux distribution
The Apache httpd server mod_mime_magic module uses the file commands innards to make file type guessing more reliable under Apache HTTPD.
Download (0.53MB)
Added: 2007-05-25 License: GPL (GNU General Public License) Price:
535 downloads
File::Drawing 0.01
File::Drawing release, revise and retrieve contents to/from a drawing program module. more>>
File::Drawing release, revise and retrieve contents to/from a drawing program module.
SYNOPSIS
##########
# Subroutine interface
#
use File::Drawing qw(
dod_date dod_drawing_number number2pm pm2number obsolete
broken backup);
$date = dod_date($sec, $min, $hour, $day, $month, $year);
$drawing_number = dod_drawing_number( );
$pm = number2pm($drawing_number, $repository);
$drawing_number = pm2number($drawing_number, $repository);
$old_value = config( $option );
$old_value = config( $option => $new_value);
(@all_options) = config( );
obsolete($drawing_number, $repository);
broken($drawing_number, $repository);
($file, $backup_file) = backup($drawing_number, $repository, $dir);
######
# Class Interface
#
use File::Drawing;
$default_options = defaults(@options);
$old_value = $default_options->config( $option );
$old_value = $default_options->config( $option => $new_value);
(@all_options) = $default_options->config( );
$drawing = new File::Drawing($contents, $white_tape, $pod, $file_contents, $drawing_number, $repository);
$drawing = File::Drawing->retrieve($drawing_number, @options);
$error = $drawing->release(@options);
$error = $drawing->revise(@options);
$date = $drawing->dod_date($sec, $min, $hour, $day, $month, $year);
$drawing_number = $$drawing->dod_drawing_number( );
$pm = $drawing->number2pm($drawing_number, $repository);
$drawing_number = $drawing->pm2number($drawing_number, $repository);
$drawing->obsolete($drawing_number, $repository);
$drawing->broken($drawing_number, $repository);
($file, $backup_file) = $drawing->backup($drawing_number, $repository, $dir);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
The File::Drawing program module uses American National Standards for drawings as a model for storing data. Commercial, governement and casual orgainizations have stored information over the centuries as drawings. Drawings probably evolved from the census that the Romans rulers, started back when Rome was a little frontier town. In other words, the practices of the drafting displines have evolved over time and have stood the test of time.
Any deviation must be a crystal clear advantage. Many of the practices are in place to avoid common and costly human mistakes that obviously a computerize drafting system will not make. A good approach is to make the computerized data structure optimum for computers and have the computer render the computerized data into a form that meets the drafting standards.
The File::Drawing program module, uses the Perl program module name as a drawing repository, drawing number combination. The contents of the drawing is contained in the program module file. The < File::Drawing > program module established methods to retrieve contents from a program module drawing file, create an Perl drawing object with the contents, and methods to release and revise the contents in a program module drawing file from a Perl drawing object. Other popular methods for computerize date are the SQL and XML. Perl has a wide range of program modules using these approach.
In this time in history, the Drawings are highly standardize and even subject to Internationl standarization agreements. The Drawing Sheet Size and Format conform to ANSI Y14.1-1975 or its successor. The drawing has a box with zone numbers running right to left alon the top and bottom, and zone letters running bottom to top along the sides. There is a section inside the box, lower right corner with the blocks for such things as the title, drawing number, current revision, authoriztion, and sheet number. There is an expandable four column table in the top right corner to record the revision history.
<<lessSYNOPSIS
##########
# Subroutine interface
#
use File::Drawing qw(
dod_date dod_drawing_number number2pm pm2number obsolete
broken backup);
$date = dod_date($sec, $min, $hour, $day, $month, $year);
$drawing_number = dod_drawing_number( );
$pm = number2pm($drawing_number, $repository);
$drawing_number = pm2number($drawing_number, $repository);
$old_value = config( $option );
$old_value = config( $option => $new_value);
(@all_options) = config( );
obsolete($drawing_number, $repository);
broken($drawing_number, $repository);
($file, $backup_file) = backup($drawing_number, $repository, $dir);
######
# Class Interface
#
use File::Drawing;
$default_options = defaults(@options);
$old_value = $default_options->config( $option );
$old_value = $default_options->config( $option => $new_value);
(@all_options) = $default_options->config( );
$drawing = new File::Drawing($contents, $white_tape, $pod, $file_contents, $drawing_number, $repository);
$drawing = File::Drawing->retrieve($drawing_number, @options);
$error = $drawing->release(@options);
$error = $drawing->revise(@options);
$date = $drawing->dod_date($sec, $min, $hour, $day, $month, $year);
$drawing_number = $$drawing->dod_drawing_number( );
$pm = $drawing->number2pm($drawing_number, $repository);
$drawing_number = $drawing->pm2number($drawing_number, $repository);
$drawing->obsolete($drawing_number, $repository);
$drawing->broken($drawing_number, $repository);
($file, $backup_file) = $drawing->backup($drawing_number, $repository, $dir);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
The File::Drawing program module uses American National Standards for drawings as a model for storing data. Commercial, governement and casual orgainizations have stored information over the centuries as drawings. Drawings probably evolved from the census that the Romans rulers, started back when Rome was a little frontier town. In other words, the practices of the drafting displines have evolved over time and have stood the test of time.
Any deviation must be a crystal clear advantage. Many of the practices are in place to avoid common and costly human mistakes that obviously a computerize drafting system will not make. A good approach is to make the computerized data structure optimum for computers and have the computer render the computerized data into a form that meets the drafting standards.
The File::Drawing program module, uses the Perl program module name as a drawing repository, drawing number combination. The contents of the drawing is contained in the program module file. The < File::Drawing > program module established methods to retrieve contents from a program module drawing file, create an Perl drawing object with the contents, and methods to release and revise the contents in a program module drawing file from a Perl drawing object. Other popular methods for computerize date are the SQL and XML. Perl has a wide range of program modules using these approach.
In this time in history, the Drawings are highly standardize and even subject to Internationl standarization agreements. The Drawing Sheet Size and Format conform to ANSI Y14.1-1975 or its successor. The drawing has a box with zone numbers running right to left alon the top and bottom, and zone letters running bottom to top along the sides. There is a section inside the box, lower right corner with the blocks for such things as the title, drawing number, current revision, authoriztion, and sheet number. There is an expandable four column table in the top right corner to record the revision history.
Download (0.063MB)
Added: 2006-06-22 License: Perl Artistic License Price:
1219 downloads
File::AnySpec 0.06
File::AnySpec is a Perl module to perform operations on foreign (remote) file names. more>>
File::AnySpec is a Perl module to perform operations on foreign (remote) file names.
SYNOPSIS
# Subroutine Interface
#
use File::AnySpec qw(fspec2fspec pm2fspec os2fspec fspec2os fspec_glob fspec2pm);
$file = fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = fspec2os($fspec, $file, [$no_file])
$fspec_file = os2fspec($fspec, $file, [$no_file])
$pm = fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = pm2fspec($fspec, $pm)
@globed_files = fspec_glob($fspec, @files)
# Class Interface
#
use File::AnySpec
use vars qw(@ISA)
@ISA = qw(File::AnySpec)
$file = __PACKAGE__->fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = __PACKAGE__->fspec2os($fspec, $file, [$no_file])
$fspec_file = __PACKAGE__->os2fspec($fspec, $file, [$no_file])
$pm = __PACKAGE__->fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = __PACKAGE__->pm2fspec($fspec, $pm)
@globed_files = __PACKAGE__->fspec_glob($fspec, @files)
Methods in this package, perform operations on file specifications for operating systems other then the current site operating system. The input variable $fspec tells the methods in this package the file specification for file names used as input to the methods. Thus, when using methods in this package, the method may load up to two File::Spec submodules methods and neither of them is a submodule for the current site operating system.
<<lessSYNOPSIS
# Subroutine Interface
#
use File::AnySpec qw(fspec2fspec pm2fspec os2fspec fspec2os fspec_glob fspec2pm);
$file = fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = fspec2os($fspec, $file, [$no_file])
$fspec_file = os2fspec($fspec, $file, [$no_file])
$pm = fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = pm2fspec($fspec, $pm)
@globed_files = fspec_glob($fspec, @files)
# Class Interface
#
use File::AnySpec
use vars qw(@ISA)
@ISA = qw(File::AnySpec)
$file = __PACKAGE__->fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = __PACKAGE__->fspec2os($fspec, $file, [$no_file])
$fspec_file = __PACKAGE__->os2fspec($fspec, $file, [$no_file])
$pm = __PACKAGE__->fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = __PACKAGE__->pm2fspec($fspec, $pm)
@globed_files = __PACKAGE__->fspec_glob($fspec, @files)
Methods in this package, perform operations on file specifications for operating systems other then the current site operating system. The input variable $fspec tells the methods in this package the file specification for file names used as input to the methods. Thus, when using methods in this package, the method may load up to two File::Spec submodules methods and neither of them is a submodule for the current site operating system.
Download (0.043MB)
Added: 2007-01-16 License: Perl Artistic License Price:
1011 downloads
File::PathList 0.02
File::PathList is a Perl module that can find a file within a set of paths (like @INC or Java classpaths). more>>
File::PathList is a Perl module that can find a file within a set of paths (like @INC or Java classpaths).
SYNOPSIS
# Create a basic pathset
my $inc = File::PathList->new( @INC );
# Again, but with more explicit params
my $inc2 = File::PathList->new(
paths => @INC,
cache => 1,
);
# Get the full (localised) path for a unix-style relative path
my $file = "foo/bar/baz.txt";
my $path = $inc->find_file( $file );
if ( $path ) {
print "Found $file at $pathn";
} else {
print "Failed to find $filen";
}
Many systems that map generic relative paths to absolute paths do so with a set of base paths.
For example, perl itself when loading classes first turn a Class::Name into a path like Class/Name.pm, and thens looks through each element of @INC to find the actual file.
To aid in portability, all relative paths are provided as unix-style relative paths, and converted to the localised version in the process of looking up the path.
<<lessSYNOPSIS
# Create a basic pathset
my $inc = File::PathList->new( @INC );
# Again, but with more explicit params
my $inc2 = File::PathList->new(
paths => @INC,
cache => 1,
);
# Get the full (localised) path for a unix-style relative path
my $file = "foo/bar/baz.txt";
my $path = $inc->find_file( $file );
if ( $path ) {
print "Found $file at $pathn";
} else {
print "Failed to find $filen";
}
Many systems that map generic relative paths to absolute paths do so with a set of base paths.
For example, perl itself when loading classes first turn a Class::Name into a path like Class/Name.pm, and thens looks through each element of @INC to find the actual file.
To aid in portability, all relative paths are provided as unix-style relative paths, and converted to the localised version in the process of looking up the path.
Download (0.026MB)
Added: 2007-06-06 License: Perl Artistic License Price:
870 downloads
File::Data 1.12
File::Data is a Perl module as a interface to file data. more>>
File::Data is a Perl module as a interface to file data.
Wraps all the accessing of a file into a convenient set of calls for reading and writing data, including a simple regex interface.
Note that the file needs to exist prior to using this module!
See new()
SYNOPSIS
use strict;
use File::Data;
my $o_dat = File::Data->new(./t/example);
$o_dat->write("complete file contentsn");
$o_dat->prepend("first linen"); # line 0
$o_dat->append("original second (last) linen");
$o_dat->insert(2, "new second linen"); # inc. zero!
$o_dat->replace(line, LINE);
print $o_dat->READ;
Or, perhaps more seriously :-}
my $o_sgm = File::Data->new(./sgmlfile);
print "new SGML data: ".$o_sgm->REPLACE(
s*((?s).*)s* ,
qq| key="val" |,
) if $o_sgm;
See METHODS and EXAMPLES.
IMPORTANT
lowercase method calls return the object itself, so you can chain calls.
my $o_obj = $o_dat->read; # ! READ; # !<<less
Wraps all the accessing of a file into a convenient set of calls for reading and writing data, including a simple regex interface.
Note that the file needs to exist prior to using this module!
See new()
SYNOPSIS
use strict;
use File::Data;
my $o_dat = File::Data->new(./t/example);
$o_dat->write("complete file contentsn");
$o_dat->prepend("first linen"); # line 0
$o_dat->append("original second (last) linen");
$o_dat->insert(2, "new second linen"); # inc. zero!
$o_dat->replace(line, LINE);
print $o_dat->READ;
Or, perhaps more seriously :-}
my $o_sgm = File::Data->new(./sgmlfile);
print "new SGML data: ".$o_sgm->REPLACE(
s*((?s).*)s* ,
qq| key="val" |,
) if $o_sgm;
See METHODS and EXAMPLES.
IMPORTANT
lowercase method calls return the object itself, so you can chain calls.
my $o_obj = $o_dat->read; # ! READ; # !<<less
Download (0.013MB)
Added: 2007-04-26 License: Perl Artistic License Price:
914 downloads
File::Path 5.8.8
File::Path is a Perl module to create or remove directory trees. more>>
File::Path is a Perl module to create or remove directory trees.
SYNOPSIS
use File::Path;
mkpath([/foo/bar/baz, blurfl/quux], 1, 0711);
rmtree([foo/bar/baz, blurfl/quux], 1, 1);
The mkpath function provides a convenient way to create directories, even if your mkdir kernel call wont create more than one level of directory at a time. mkpath takes three arguments:
the name of the path to create, or a reference to a list of paths to create,
a boolean value, which if TRUE will cause mkpath to print the name of each directory as it is created (defaults to FALSE), and
the numeric mode to use when creating the directories (defaults to 0777), to be modified by the current umask.
It returns a list of all directories (including intermediates, determined using the Unix / separator) created.
If a system error prevents a directory from being created, then the mkpath function throws a fatal error with Carp::croak. This error can be trapped with an eval block:
eval { mkpath($dir) };
if ($@) {
print "Couldnt create $dir: $@";
}
Similarly, the rmtree function provides a convenient way to delete a subtree from the directory structure, much like the Unix command rm -r. rmtree takes three arguments:
the root of the subtree to delete, or a reference to a list of roots. All of the files and directories below each root, as well as the roots themselves, will be deleted.
a boolean value, which if TRUE will cause rmtree to print a message each time it examines a file, giving the name of the file, and indicating whether its using rmdir or unlink to remove it, or that its skipping it. (defaults to FALSE)
a boolean value, which if TRUE will cause rmtree to skip any files to which you do not have delete access (if running under VMS) or write access (if running under another OS). This will change in the future when a criterion for delete permission under OSs other than VMS is settled. (defaults to FALSE)
It returns the number of files successfully deleted. Symlinks are simply deleted and not followed.
NOTE: There are race conditions internal to the implementation of rmtree making it unsafe to use on directory trees which may be altered or moved while rmtree is running, and in particular on any directory trees with any path components or subdirectories potentially writable by untrusted users.
Additionally, if the third parameter is not TRUE and rmtree is interrupted, it may leave files and directories with permissions altered to allow deletion (and older versions of this module would even set files and directories to world-read/writable!)
Note also that the occurrence of errors in rmtree can be determined only by trapping diagnostic messages using $SIG{__WARN__}; it is not apparent from the return value.
<<lessSYNOPSIS
use File::Path;
mkpath([/foo/bar/baz, blurfl/quux], 1, 0711);
rmtree([foo/bar/baz, blurfl/quux], 1, 1);
The mkpath function provides a convenient way to create directories, even if your mkdir kernel call wont create more than one level of directory at a time. mkpath takes three arguments:
the name of the path to create, or a reference to a list of paths to create,
a boolean value, which if TRUE will cause mkpath to print the name of each directory as it is created (defaults to FALSE), and
the numeric mode to use when creating the directories (defaults to 0777), to be modified by the current umask.
It returns a list of all directories (including intermediates, determined using the Unix / separator) created.
If a system error prevents a directory from being created, then the mkpath function throws a fatal error with Carp::croak. This error can be trapped with an eval block:
eval { mkpath($dir) };
if ($@) {
print "Couldnt create $dir: $@";
}
Similarly, the rmtree function provides a convenient way to delete a subtree from the directory structure, much like the Unix command rm -r. rmtree takes three arguments:
the root of the subtree to delete, or a reference to a list of roots. All of the files and directories below each root, as well as the roots themselves, will be deleted.
a boolean value, which if TRUE will cause rmtree to print a message each time it examines a file, giving the name of the file, and indicating whether its using rmdir or unlink to remove it, or that its skipping it. (defaults to FALSE)
a boolean value, which if TRUE will cause rmtree to skip any files to which you do not have delete access (if running under VMS) or write access (if running under another OS). This will change in the future when a criterion for delete permission under OSs other than VMS is settled. (defaults to FALSE)
It returns the number of files successfully deleted. Symlinks are simply deleted and not followed.
NOTE: There are race conditions internal to the implementation of rmtree making it unsafe to use on directory trees which may be altered or moved while rmtree is running, and in particular on any directory trees with any path components or subdirectories potentially writable by untrusted users.
Additionally, if the third parameter is not TRUE and rmtree is interrupted, it may leave files and directories with permissions altered to allow deletion (and older versions of this module would even set files and directories to world-read/writable!)
Note also that the occurrence of errors in rmtree can be determined only by trapping diagnostic messages using $SIG{__WARN__}; it is not apparent from the return value.
Download (12.2MB)
Added: 2007-04-27 License: Perl Artistic License Price:
910 downloads
File::Maker 0.05
File::Maker is a Perl module that mimics a make by loading a database and calling targets methods. more>>
File::Maker is a Perl module that mimics a make by loading a database and calling targets methods.
SYNOPSIS
#####
# Subroutine interface
#
use File::Maker qw(load_db);
%data = load_db($pm);
######
# Object interface
#
require File::Maker;
$maker = $maker->load_db($pm);
$maker->make_targets(%targets, @targets, %options );
$maker->make_targets(%targets, %options );
$maker = new File::Maker(@options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
When porting low level C code from one architecture to another, makefiles do provide some level of automation and save some time. However, once Perl or another high-level language is up and running, the high-level language usually allows much more efficient use of programmers time; otherwise, whats point of the high-level language. Thus, makes great economically sense to switch from makefiles to high-level language.
The File::Maker program module provides a "make" style interface as shown in the herein above. The @targets contains a list of targets that mimics the targets of a makefile. The targets are subroutines written in Perl in a separate program module from the File::Maker. The separate target program module inherits the methods in the File::Maker program module as follows:
use File::Maker;
use vars qw( @ISA );
@ISA = qw(File::Maker);
The File::Maker methods will then find the target subroutines in the separate target program module.
The File::Maker provides for the loading of a hash from a program module to provide for the capabilities of defines in a makefile. The option pm = $file> tells File::Maker to load a database from the __DATA__ section of a program module that is in the Tie::Form format. The Tie::Form format is a very flexible lenient format that is about as close to a natural language form and still have the precision of being machine readable.
This provides a more flexible alternative to the defines in a makefile. The define hash is in a separate, very flexible form program module. This arrangement allows one target program module that inherits the File::Maker program module to produce as many different outputs as there are Tie::Form program modules.
<<lessSYNOPSIS
#####
# Subroutine interface
#
use File::Maker qw(load_db);
%data = load_db($pm);
######
# Object interface
#
require File::Maker;
$maker = $maker->load_db($pm);
$maker->make_targets(%targets, @targets, %options );
$maker->make_targets(%targets, %options );
$maker = new File::Maker(@options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
When porting low level C code from one architecture to another, makefiles do provide some level of automation and save some time. However, once Perl or another high-level language is up and running, the high-level language usually allows much more efficient use of programmers time; otherwise, whats point of the high-level language. Thus, makes great economically sense to switch from makefiles to high-level language.
The File::Maker program module provides a "make" style interface as shown in the herein above. The @targets contains a list of targets that mimics the targets of a makefile. The targets are subroutines written in Perl in a separate program module from the File::Maker. The separate target program module inherits the methods in the File::Maker program module as follows:
use File::Maker;
use vars qw( @ISA );
@ISA = qw(File::Maker);
The File::Maker methods will then find the target subroutines in the separate target program module.
The File::Maker provides for the loading of a hash from a program module to provide for the capabilities of defines in a makefile. The option pm = $file> tells File::Maker to load a database from the __DATA__ section of a program module that is in the Tie::Form format. The Tie::Form format is a very flexible lenient format that is about as close to a natural language form and still have the precision of being machine readable.
This provides a more flexible alternative to the defines in a makefile. The define hash is in a separate, very flexible form program module. This arrangement allows one target program module that inherits the File::Maker program module to produce as many different outputs as there are Tie::Form program modules.
Download (0.076MB)
Added: 2007-02-16 License: Perl Artistic License Price:
980 downloads
i.File 0.2 Alpha
i.File is a file manager for Linux written for the Windows refugees that are arriving in Linux. more>>
i.File is a file manager for Linux written for the Windows refugees that are arriving in Linux only to find that the state of the user interface is rather poor. I personally somewhat fall into this catagory, although more as a power user than the average Joe.
Both the leading file managers for KDE and Gnome are well... not to put too fine a point on it: crap. There are just not ready for everyday use by normal people, because of the untold number of bugs in the usability and function that are STILL there 3 years after they first infested Linux desktops.
Not that this project will start off any better, but my hope is that itll end far more successfully than the aforementioned software. i.File project is targetted at other developers in an attempt to get some help with bringing it up to speed. Enough of the basic code layout and implementation is done so that the user can see how things should work. And now its just time to fill in the blanks and bust those bugs.
Main features:
- Be fast. i.File doesnt load icons for every file by its mime type. Because that takes too long. All the algorithms are designed to make it fast. The use of hashtables is pervasive. At no point should "eye candy" ever take precedence over speed. Startup/shutdown time should be sub-second. Drag and drop should have latencies around 100ms at most.
- All views of the same inode (file/dir/etc) point back to the same object, thus when the object changes, all views of that automatically update.
- Network accesses and all other tasks that can take time should be threaded. There is no excuse for locking up the GUI thread while the application goes off to get some data.
- Be minimal. i.File is not a thumb nail viewer, or any other type of viewer. Applications do the viewing, not the file manager. Viewing tasks bloat up the file manager.
- Every file is typed with a mime type. This is marginally better than using a files extension to associate it with an application.
- The Win2k implementation of Windows Explorer is the basis for some of the user interface because it works, people are used to it, and its "the standard". And no the experiments with file manager UI in Linux didnt work. They suck badly, thats why there is i.File in the first place.
<<lessBoth the leading file managers for KDE and Gnome are well... not to put too fine a point on it: crap. There are just not ready for everyday use by normal people, because of the untold number of bugs in the usability and function that are STILL there 3 years after they first infested Linux desktops.
Not that this project will start off any better, but my hope is that itll end far more successfully than the aforementioned software. i.File project is targetted at other developers in an attempt to get some help with bringing it up to speed. Enough of the basic code layout and implementation is done so that the user can see how things should work. And now its just time to fill in the blanks and bust those bugs.
Main features:
- Be fast. i.File doesnt load icons for every file by its mime type. Because that takes too long. All the algorithms are designed to make it fast. The use of hashtables is pervasive. At no point should "eye candy" ever take precedence over speed. Startup/shutdown time should be sub-second. Drag and drop should have latencies around 100ms at most.
- All views of the same inode (file/dir/etc) point back to the same object, thus when the object changes, all views of that automatically update.
- Network accesses and all other tasks that can take time should be threaded. There is no excuse for locking up the GUI thread while the application goes off to get some data.
- Be minimal. i.File is not a thumb nail viewer, or any other type of viewer. Applications do the viewing, not the file manager. Viewing tasks bloat up the file manager.
- Every file is typed with a mime type. This is marginally better than using a files extension to associate it with an application.
- The Win2k implementation of Windows Explorer is the basis for some of the user interface because it works, people are used to it, and its "the standard". And no the experiments with file manager UI in Linux didnt work. They suck badly, thats why there is i.File in the first place.
Download (0.78MB)
Added: 2006-01-18 License: Freeware Price:
1378 downloads
File::Find 5.8.8
File::Find is a Perl module to traverse a directory tree. more>>
File::Find is a Perl module to traverse a directory tree.
SYNOPSIS
use File::Find;
find(&wanted, @directories_to_search);
sub wanted { ... }
use File::Find;
finddepth(&wanted, @directories_to_search);
sub wanted { ... }
use File::Find;
find({ wanted => &process, follow => 1 }, .);
These are functions for searching through directory trees doing work on each file found similar to the Unix find command. File::Find exports two functions, find and finddepth. They work similarly but have subtle differences.
find
find(&wanted, @directories);
find(%options, @directories);
find() does a depth-first search over the given @directories in the order they are given. For each file or directory found, it calls the &wanted subroutine. (See below for details on how to use the &wanted function). Additionally, for each directory found, it will chdir() into that directory and continue the search, invoking the &wanted function on each file or subdirectory in the directory.
finddepth
finddepth(&wanted, @directories);
finddepth(%options, @directories);
finddepth() works just like find() except that is invokes the &wanted function for a directory after invoking it for the directorys contents. It does a postorder traversal instead of a preorder traversal, working from the bottom of the directory tree up where find() works from the top of the tree down.
<<lessSYNOPSIS
use File::Find;
find(&wanted, @directories_to_search);
sub wanted { ... }
use File::Find;
finddepth(&wanted, @directories_to_search);
sub wanted { ... }
use File::Find;
find({ wanted => &process, follow => 1 }, .);
These are functions for searching through directory trees doing work on each file found similar to the Unix find command. File::Find exports two functions, find and finddepth. They work similarly but have subtle differences.
find
find(&wanted, @directories);
find(%options, @directories);
find() does a depth-first search over the given @directories in the order they are given. For each file or directory found, it calls the &wanted subroutine. (See below for details on how to use the &wanted function). Additionally, for each directory found, it will chdir() into that directory and continue the search, invoking the &wanted function on each file or subdirectory in the directory.
finddepth
finddepth(&wanted, @directories);
finddepth(%options, @directories);
finddepth() works just like find() except that is invokes the &wanted function for a directory after invoking it for the directorys contents. It does a postorder traversal instead of a preorder traversal, working from the bottom of the directory tree up where find() works from the top of the tree down.
Download (12.2MB)
Added: 2007-04-26 License: Perl Artistic License Price:
913 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above file cabinets search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed