Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^2: Escaping special characters in filename for Net::SCP

by blazar (Canon)
on Mar 29, 2005 at 09:20 UTC ( #443075=note: print w/replies, xml ) Need Help??

in reply to Re: Escaping special characters in filename for Net::SCP
in thread Escaping special characters in filename for Net::SCP

$scp->put(quotemeta) yields:
Couldn't transfer `/real/file->name': \/real\/file\-\>name: No such file or directory
$scp->put(qq|'$_'|) yields:
Couldn't transfer `/real/file->name': bash: -c: line 1: unexpected EOF while looking for matching `''
bash: -c: line 2: syntax error: unexpected end of file
lost connection

Replies are listed 'Best First'.
Re^3: Escaping special characters in filename for Net::SCP
by samizdat (Vicar) on Mar 29, 2005 at 15:45 UTC
    What a gross mess, blazar. Anything other than something like the following is not worth your time:
    use File::Copy; $basedir='/path/to/files'; $foo = $_; $foo =~ s#/#slash#g; $foo =~ s#->#arrow#g; $fubar = "$basedir/$_"; copy($fubar, "$basedir/$foo"); $scp->put("$basedir/$foo"); system('rm', "$basedir/$foo") && die "Can't remove $foo:$!\n";
    with appropriate my's and stricts as appropriate.
      I must say that in the meantime I've happily switched to Net::SFTP, so no more problems on the practical side of things. Still slightly curious if it would have been possible to do it with Net::SCP and if so, how. Net::SFTP seems a superior solution in any case...
        sftp is better than scp, so I'm not surprised that Net::SFTP is better. I don't know if scp is being kept up with all of the latest OpenSSH ports, either. Don't use it myself. :)

        In any event, glad you're past it! :D

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://443075]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2018-03-23 19:46 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (296 votes). Check out past polls.