diff --git a/pae2xml.pl b/pae2xml.pl
index 810ee1b1c1608444a5e5a57c3475b4180af7ccc5..4648fb385b29019457f7951956068126a2a71a6c 100755
--- a/pae2xml.pl
+++ b/pae2xml.pl
@@ -553,12 +553,15 @@ Error: $msg\n";
 
 sub read_file {
   my ($fn) = @_;
-  if (!(open FH, $fn))
-    {
+  my $res = "";
+  if ($fn eq "-") {
+      while (<STDIN>) { $res .= $_; } # read all lines
+  } else {
+    if (!(open FH, $fn)) {
       return "";
     }
-  my $res = "";
-  while (<FH>) { $res .= $_; } # read all lines
-  close (FH);
+    while (<FH>) { $res .= $_; } # read all lines
+    close (FH);
+  }
   return $res;
 }