>>>>> "Sven" == Sven Utcke <[EMAIL PROTECTED]> writes:
> $ tramp_file_attributes () {
> /bin/perl -e '$f = $ARGV[0];
> @s = lstat($f);
> if (($s[2] & 0170000) == 0120000) { $l = readlink($f); $l = "\"$l\""; }
> elsif (($s[2] & 0170000) == 040000) { $l = "t"; } else { $l = "nil" };
> printf("(%s %u %u %u (%u %u) (%u %u) (%u %u) %u %u t (%u . %u) (%u %u))\n",
> $l, $s[3], $s[4], $s[5], $s[8] >> 16 & 0xffff, $s[8] & 0xffff,
> $s[9] >> 16 & 0xffff, $s[9] & 0xffff, $s[10] >> 16 & 0xffff, $s[10] & 0xffff,
> $s[7], $s[2], $s[1] >> 16 & 0xffff, $s[1] & 0xffff, $s[0] >> 16 & 0xffff, $s[0] & 
>0xffff);' $1
> }
> [...]
> $ tramp_file_attributes /home
> Number found where operator expected at -e line 3, near "if (($s[2] & 0170000) == 
>0120000"
>   (Might be a runaway multi-line == string starting on line 2)

Browsing the source of Perl, I see that this error message indicates that
Perl thinks that there's a string delimited with =...= and starting on
line 2.  This seems to indicate that your Perl took the `@s = lstat($f)'
to be a string substitution command.

Based on that, my impression is that the `@' in column zero was
dropped somewhere on the way and Perl never saw it.

Maybe you're victim of a strange stty setting ?
(there has been tty settings in the past where @ was set to `erase')

If that's the case, maybe Tramp should do a `stty erase "^?"' ?


        Stefan

Reply via email to