in reply to Re^2: "touching" a file
in thread "touching" a file

Perl 5.6.1 gives me "Modification of a read-only value attempted" without the assignment.

From perldoc perlfunc syscall:

You can't use a string literal (or other read-only string) as an argument to "syscall" because Perl has to assume that any string pointer might be written through.

(Update:) you can probably get around this with unpack"i",pack"p","filename" but I haven't tried.