=head1 NAME
-perlfaq3 - Programming Tools ($Revision: 1.13 $, $Date: 2002/02/08 22:32:47 $)
+perlfaq3 - Programming Tools ($Revision: 1.15 $, $Date: 2002/02/11 19:29:52 $)
=head1 DESCRIPTION
print "Hello world\n"
(then Run "Myscript" or Shift-Command-R)
+ # MPW
+ perl -e 'print "Hello world\n"'
+
# VMS
perl -e "print ""Hello world\n"""
Using qq(), q(), and qx(), instead of "double quotes", 'single
quotes', and `backticks`, may make one-liners easier to write.
-There is no general solution to all of this. It is a mess, pure and
-simple. Sucks to be away from Unix, huh? :-)
+There is no general solution to all of this. It is a mess.
[Some of this answer was contributed by Kenneth Albanowski.]
=head1 NAME
-perlfaq5 - Files and Formats ($Revision: 1.8 $, $Date: 2002/01/28 04:17:26 $)
+perlfaq5 - Files and Formats ($Revision: 1.9 $, $Date: 2002/02/11 19:30:21 $)
=head1 DESCRIPTION
=head2 How can I reliably rename a file?
-Well, usually you just use Perl's rename() function. That may not
-work everywhere, though, particularly when renaming files across file systems.
-Some sub-Unix systems have broken ports that corrupt the semantics of
-rename()--for example, WinNT does this right, but Win95 and Win98
-are broken. (The last two parts are not surprising, but the first is. :-)
-
-If your operating system supports a proper mv(1) program or its moral
+If your operating system supports a proper mv(1) utility or its functional
equivalent, this works:
rename($old, $new) or system("mv", $old, $new);
-It may be more compelling to use the File::Copy module instead. You
-just copy to the new file to the new name (checking return values),
-then delete the old one. This isn't really the same semantically as a
-real rename(), though, which preserves metainformation like
+It may be more portable to use the File::Copy module instead.
+You just copy to the new file to the new name (checking return
+values), then delete the old one. This isn't really the same
+semantically as a rename(), which preserves meta-information like
permissions, timestamps, inode info, etc.
-Newer versions of File::Copy exports a move() function.
+Newer versions of File::Copy export a move() function.
=head2 How can I lock a file?