For +>, I actually can’t think of anything off hand, but +< is quite useful when you keep state in a file.
For a simple example, think of one of those visitor counter CGI scripts. You could use this to keep the counter in a simple file. When the script starts, it opens the file for writable reading; then it acquires an exclusive lock on the file; then it reads the counter, increases it by 1, seeks back to the start of the file, writes the new the value, and truncates the file; then it closes the file (thus releasing the lock).
Another use is databases, particularly files with fixed-length records; also DBM files, or the like.
Makeshifts last the longest.
| [reply] |
One possible use is for very large datasets that remain the same overall size but with the content changing regularly.
The architypical example, though it is doubtful is would be written in Perl, are OS swapfiles. The contents of the swap file is random accessed and changes all the time, but it is useful to reuse the same patch of diskspace each time. By leaving the swapfile (and whatever it has in it) in place when shutting down, and reusing it with '+>' on startup, the filesystem doesn't have to reallocate space from the freespace chain anew each time. That allows the semi-permanent swapfile to be fully defragged, resulting in a single, contiguous allocation that is re-used time after time with consequent optimisation of performance, and reduction in overall fragmentation of the diskspace.
For applications that might benefit from this in Perl. If you regularly download/import large files--(say log files) that are different each time, but roughly the same length each time--for analysis or uploading to a database, then retaining the old files and overwriting them using '+>' each time. Rather than deleting them when finished with, and the having to find and chain sufficient space on the disk each time, could benefit you in the same ways.
This especially if you ensure that the space is fully defragged, or you use a tool to pre-allocate the required contiguous space before downloading.
It also ensures that when the space is needed, it is available, and prevents long downloads getting 99% of the way done and then aborting through a lack of diskspace.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |