Exercises

The programs here are potentially dangerous. Test them in a mostly empty directory to make it difficult to accidentally delete something useful.

See Appendix A for answers to the following exercises:

  1. [12] Write a program to ask the user for a directory name and change to that directory. If the user enters a line with nothing but whitespace, change to his or her home directory as a default. After changing, list the ordinary directory contents (not the items whose names begin with a dot) in alphabetical order. (Hint: Will that be easier to do with a directory handle or with a glob?) If the directory change doesn’t succeed, alert the user but don’t try show the contents.

  2. [4] Modify the program to include all files and not just the ones that don’t begin with a dot.

  3. [5] If you used a directory handle for the previous exercise, rewrite it to use a glob. If you used a glob, try it now with a directory handle.

  4. [6] Write a program that works like rm, deleting any files named on the command line. (You don’t need to handle any of the options of rm.)

  5. [10] Write a program that works like mv, renaming the first command-line argument to the second command-line argument. (You don’t need to handle any of the options of mv or additional arguments.) Allow for the destination to be a directory; if it is, use the same original basename in the new directory.

  6. [7] If your operating system supports it, write a program that works like ln, making a hard link from the first command-line argument to the ...

Get Learning Perl, Fourth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.