is there a safer way than chop to remove the end character in a registry
entry string?
this section:
---------------------------------------
# retrieve the registry value(s)
$regval = $Registry -> {"$regpth/SeaNotify/"} ->
GetValue("SeaNotifyFiles");
# debug call
if($verb>1){ &rep("Found in registry: $regval",$verb); }
while($regval =~ m/(\w:)(.+?)(\w:.*)/){
# convert to one value per line in 2 steps
# 1: put the path together
# 2: remove first piece
my $val=$1.$2;
# chop($val);
if(-f $val){ push @watch, $val; }
# || (-d $val)){ push @watch, $val; }
$regval=$3;
}
# get the final value
if(-f $regval){
# || (-d $regval)){
# chop($regval);
# chop($regval);
push @watch, $regval; }
# also get SeaNotifyAdditionalDirs
# retrieve the registry value(s)
$regval = $Registry -> {"$regpth/SeaNotify/"}
-> GetValue("SeaNotifyAdditionalDirs");
# debug call
if($verb>1){ &rep("Found in registry: $regval",$verb); }
if($verb>1){
foreach my $val (@watch){
if(-f $val){
&rep("Found file $val|<-",$verb); }
elsif(-d $val){ &rep("Found directory $val|<-",$verb); }
else{ &rep("How did this get in here? val is: $val|<-", $verb); }
}
}
---------------------------------------
causes this output
---------------------------------------
C:\Documents and Settings\jperlmutter.GRANITE_ENG\My
Documents\perl\test_scripts\SeaNotify>perl tsnt.pl -l trials.txt -iter 1
-verb
-verb -verb -verb -verb -verb -verb
Sea Notify test started at Fri Aug 19 08:13:52 2005
Using Windows version of SeaNotify....registry interaction started
Setting Delimiter
Setting registry path short to
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/
Found in registry: C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\testfile.txt C:\Documents and
Settings\jperlmutter.GRA
NITE_ENG\Desktop\random2ndfiile.txt C:\Documents and
Settings\jperlmutter.GRANITE_ENG\My Documents E:\temp\tester.txt
C:\Documents
and Settings\jperlmutter.GRANITE_ENG\My Documents\rndtstfile.txt
Found in registry:
Found file C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\testfile.txt |<-
Found file C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\random2ndfiile.txt |<-
Found file E:\temp\tester.txt |<-
Found file C:\Documents and Settings\jperlmutter.GRANITE_ENG\My
Documents\rndtstfile.txt |<-
---------------------------------------
and un-commenting the chops causes
---------------------------------------
C:\Documents and Settings\jperlmutter.GRANITE_ENG\My
Documents\perl\test_scripts\SeaNotify>perl tsnt.pl -l trials.txt -iter 1
-verb -verb -verb -verb -verb -verb -verb
Sea Notify test started at Fri Aug 19 08:13:52 2005
Using Windows version of SeaNotify....registry interaction started
Setting Delimiter
Setting registry path short to
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/
Found in registry: C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\testfile.txt C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\random2ndfiile.txt C:\Documents
and Settings\jperlmutter.GRANITE_ENG\My Documents E:\temp\tester.txt
C:\Documents and Settings\jperlmutter.GRANITE_ENG\My
Documents\rndtstfile.txt
Found in registry:
Found file C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\testfile.txt|<-
Found file C:\Documents and
Settings\jperlmutter.GRANITE_ENG\Desktop\random2ndfiile.txt|<-
Found file E:\temp\tester.txt|<-
Found file C:\Documents and Settings\jperlmutter.GRANITE_ENG\My
Documents\rndtstfile.txt|<-
---------------------------------------
i would like something safer but cannot find anything that works. i could
try a loop of chopping until i find a \w, however i can see that failing
since ~ and _ and - are all legal characters that could be in the name at
the end for various reasons.
i would like to thank those who have helped so far for their time and
patience
-josh
ps: if you owould like i will send the code for you to look at
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs