Karandeep Singh
Karandeep Singh

Reputation: 1279

Difference between '>>' and '>' in Perl

What is the difference between these two code snippets?

  1. open (MYFILE, '>>data.txt');

  2. open (MYFILE, '>data.txt');

Upvotes: 3

Views: 3741

Answers (1)

kennytm
kennytm

Reputation: 523224

  1. open (MYFILE, '>>data.txt') — Open data.txt, keep the original data, append data from the end.
  2. open (MYFILE, '>data.txt') — Open data.txt, delete everything inside, and write data from the start.

From perldoc -f open:

If MODE is '<' or nothing, the file is opened for input. If MODE is '>', the file is truncated and opened for output, being created if necessary. If MODE is '>>', the file is opened for appending, again being created if necessary.

It stems from the shell usage that,

  • cmd < file.txt to copy file into stdin,
  • cmd > file.txt to write stdout into a file, and
  • cmd >> file.txt to append stdout to the end of the file.

Upvotes: 13

Related Questions