2017-02-21 2 views
-4
#!/applications/dte/perl5/bin/perl -w  
use File::Basename;  
use strict;  

my $DTE_WORK_DIR = dirname($0);  
print "DTE $DTE_WORK_DIR\n";  
my $DTE_WORKING_DIR = split ('/\//', $DTE_WORK_DIR);  
print "WORKDIR = $DTE_WORKING_DIR\n";  

laufen als /path/to/dir/filename.pl Verwendung von impliziten Split bei/applications/dte/sh/oleg @_ veraltet. pl Leitung 15
DTE/path/to/dir
workdir = 1Ich möchte Arbeitsverzeichnis aufzuspalten Pfad in Perl-Skript

+0

Ihre Anweisung 'my $ var = split (/ \ //, $ fulpath)' setzt '$ var' auf 4. Warum lesen Sie die Dokumentation nicht, bevor Sie die ganze Welt in die Reparatur Ihres Codes involviert haben? – Borodin

+0

Was ist die Fehlermeldung? Denkst du nicht, dass ein '/' innerhalb von Regex-Trennzeichen von '/' irgendwie maskiert werden müsste? –

+0

Ich lese und das habe ich gefunden – osamuyl

Antwort

0

ich habe Ihre Frage ist sehr schwer zu verstehen gefunden - aber das ist mein nehmen - Sie ein Verzeichnis wie

/this/is/some/kind/of/path/to/nowhere 
nehmen wollen

Dies Sie wollen sie auseinander brechen und es wieder aufzubauen

Probieren Sie etwas wie dies zu tun - mit den ersten beiden Verzeichnisse Pfad zu bauen

(@directoryNames)=split(/\//, $someDirectory); 
$newDirectory=$directoryName[0]."\/".$directoryName[0]; 

Sie könnten wahrscheinlich mit Schiebe-/unshift/Pop spielen, um auch usw.