######################################################################

Expanding Symlinks

# File Name: expand.symlink.pl
# File Size in BYTES: 2405
# Sender/Author/Poster: bet@sbi.com (Bennett Todd @ Salomon Brothers Inc., NY )
# Subject: Re: Name of file symlink points to?
# Archived: May 1 1993
#
# This inspired me; it seemed to be doing most of a job I have occasionally
# wanted, but never felt like implementing, namely making canonical pathnames
# with _all_ symlinks expanded. I mean to include here expanding symlinks that
# occur in the middle of pathnames pointed to by other symlinks. Of course I
# couldn't stop there, I had to try to deal with /./ and /../ and automounter
# 

######################################################################

A faster grep example

# File Name: fastgrep.example
# File Size in BYTES: 1977
# Sender/Author/Poster: mab@wdl39.wdl.loral.com (Mark A Biggar)
# Subject: Re: A Faster Grep???
# Archived: May 24 1993
#
# >Now I'd like to have lists which have the same path before something unique.
# >I'l like List A to have all the filess+path in /usr/bin and
# >list B to have all the files+path in /usr/lib.
# 

######################################################################

cachein() a package routine to give indirect filehandles

# File Name: filecache.pl
# File Size in BYTES: 2439
# Sender/Author/Poster: tchrist
# Subject: Opening multiple filehandles
# Archived: Apr 6 1993
#
# Here's one thing that I use.  Just call
#     &'cachein($filename);
# and now you can say
#     while (<$filename>) {
# It also gives nice error message for warn and die this way.
# 

######################################################################

flock.using.fcntl.example

# File Name: flock.using.fcntl.example
# File Size in BYTES: 1956
# Sender/Author/Poster: bill@tardis.co.uk (William Hails)
# Subject: Re: For SVR4 implementations, could perl use lockf rather than flock?
# Archived: Oct 5 1993
#
# > Probably you can go through fcntl() to get at it.
# > --tom
# Here's an example:
# open(LOCKFILE, ">>/usr/sysop/etc/menulock") || die "cant open lockfile";
# 

######################################################################

list full creation timestamp for older file

# File Name: full.ctime.on.file.pl
# File Size in BYTES: 1614
# Sender/Author/Poster: dcarriga@NoFC.Forestry.CA (Dave Carrigan)
# Subject: Re: How list full creation timestamp for file >6 months old?
# Archived: May 30 1993
#
# >This is REALLY basic, but "ls" doesn't do it, if I 
# >believe the SunOS 4.1.1 man pages.  How to I list the 
# >FULL creation timestamp on a file >6 months old?  (I also
# >poked around in the "perl" camel book and didn't find 
# >anything.)
# 

######################################################################

Relink - moving links around

# File Name: relink
# File Size in BYTES: 3189
# Sender/Author/Poster: lwall@netlabs.com (Larry Wall)
# Subject: Re: moving files
# Archived: Jul 29 1993
#
# $Header: relink,v 1.2 90/08/12 00:21:14 lwall Locked $
# : 	I want to mv a symbolic link from one name to another.  (It probably
# : does not matter) This link points to a file on another device.  
# : rename() complain that the file being rename is a Cross-device link.
# : 	mv exactly what I want, but I perfer to know the perl-way of doing it.
# Here's the relink program.
# 

######################################################################

relink files which have duplicated information

# File Name: relink.duplicates.pl
# File Size in BYTES: 5408
# Sender/Author/Poster: ian@unipalm.co.uk (Ian Phillipps)
# Subject: Re: checking for duplicate files
# Archived: May 10 1993
#
# This relinks files which have duplicated information.
# Well, here's a script I hacked up which goes a step farther. It doesn't
# mind what the files are called, and works resonably efficiently on large
# quantities of files. It will try to make links even when one of the
# 

######################################################################

split a file into parts

# File Name: split.file.many.parts
# File Size in BYTES: 6549
# Sender/Author/Poster: mooring@grimoire.tymnet.com (Ed Mooring)
# Subject: Re: Is there a better way to do this?
# Archived: Jun 4 1993
#
# You could use csplit(1), I suppose.  Here's my contribution to the perl
# one-liners:
# (multiple contributors)
# 

######################################################################

sysopen() function

# File Name: sysopen.pl
# File Size in BYTES: 603
# Sender/Author/Poster: tchrist
# Subject: Tom's sysopen() function
# Archived: Apr 6 1993
#
# Tom's sysopen() function, using syscall()
# 

######################################################################

convert upper case filenames to lowercase

# File Name: ucase.to.lcase.fnames
# File Size in BYTES: 2730
# Sender/Author/Poster: woan@exeter.austin.ibm.com (Ronald S. Woan)
# Subject: Converting Uppercase file names to Lowercase
# Archived: Jun 2 1993
#
# quickly renames all mixed case files specified on the commandline into
# their lowercase (if invoked as locase) or uppercase (if invoked as
# upcase) equivalents. Renames all files in current directory when no
# commandline arguments given.
# 

Comments, suggestions, or criticisms on this archive to <wjm@metronet.com>
#