Schrift
[thread]6658[/thread]

Regex: Ziffern, gefolgt von einem "*"



<< >> 8 Einträge, 1 Seite
Kathrin
 2005-01-24 16:21
#51232 #51232
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
hmmm bräuchte eine reg Ex für meine identnr.
und zwar, sobald ein * nach einer zahl kommt.
es dürfen beliebig vile zahlen davor stehen...
Ich würde es so formulieren:
Code: (dl )
if ($identnr =~m/^\d[*]$/)
\n\n

<!--EDIT|Kathrin|1106580593-->
renee
 2005-01-24 16:26
#51233 #51233
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
probier mal:
Code: (dl )
if($identnr =~ /^\d+\*$/)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Kathrin
 2005-01-24 17:27
#51234 #51234
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
der * bereitet mir ziemliche Kopfschmerzen.
und zwar hab ich folgendes:
Code: (dl )
1
2
3
4
5
....
elsif ($identnr =~ /^\d+\*$/) {
suchen_wild()
}
.....

Code: (dl )
1
2
3
4
5
6
sub suchen_wild {
my $dbh = DBI->connect($DBN,$DBUSER,$DBPASS) or die $DBI::errstr;

my $statement_suchen="SELECT * FROM $TABELLE where ident_nr like '$identnr%'";
my $sth_suchen=$dbh->prepare($statement_suchen) or die $DBI::errstr;
......

wenn ich auf der indexseite z.B. 123* eingebe, wird ident_nr auf 123* gesetzt und auf nachfolgezahlen gesucht.
Der * war eigentlich dafür gedacht, dass es nur klar wird, dass weitere ziffern folgen.
Wie lass ich das script den * nicht beachten, nachdem er in suchen_wild() gesprungen ist?
Relais
 2005-01-24 17:35
#51235 #51235
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du kannst den Stern ja entfernen.
Code: (dl )
1
2
3
4
5
sub sterne_entferne {
my $mit_sternen = shift;
( my $ohne_sterne = $mit_sternen ) =~ s/\*//g;
return $ohne_sterne;
}


Wie gelangen $identnr und auch die anderen Variablen in die sub suchen_wild, wenn Du sie doch gar nicht übergibst?

PS: Idee geklaut von Walt Disney's "Goofy Da Vinci" und dessen genialer Erfindung des Fliegenklatschenentferners
(Patentnummer weiß ich gerade nicht).\n\n

<!--EDIT|Relais|1106581187-->
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Taulmarill
 2005-01-24 17:40
#51236 #51236
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Quote
Wie gelangt $identnr und auch die anderen Variablen in die sub suchen_wild, wenn Du sie doch gar nicht übergibst?

wenn man eine variable definiert, dann ist sie auch in einer subroutine des selben packages sichtbar. siehe:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use strict;
use warnings;

my $foo = "Hello world!\n";

print $foo;

&print_foo;

print $foo;

sub print_foo {
print $foo;
$foo = "Hello perlworld!\n";
}
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Relais
 2005-01-24 17:47
#51237 #51237
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Taulmarill,24.01.2005, 16:40]wenn man eine variable definiert, dann ist sie auch in einer subroutine des selben packages sichtbar.[/quote]
spannend. So geht es also auch.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Kathrin
 2005-01-24 18:05
#51238 #51238
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
danke relais.
die werte sind bei mir als globale variablen definiert. und wenn ich einfach cgi aufrufe dann erkennt er die werte. so muss ich sie nicht übergeben
Crian
 2005-01-25 19:15
#51239 #51239
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ich glaub die Frage war nicht so wirklich ernst gemeint ^^

Es ist einfach schlechtes Design, Funktionen nicht möglichst weit zu kapseln. "schlecht" liegt natülich im Auge des Betrachters, aber im Sinne von Wiederverwendbarkeit und leichterer Verständlichkeit und Wartbarkeit versuche ich immer, Funktionen möglichst unabhängig von Ihrer Umgebung zu machen. Die Schnittstelle zur Außenwelt sollte also möglichst nur aus Aufrufparametern und Rückgabewerten bestehen.\n\n

<!--EDIT|Crian|1106673386-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 8 Einträge, 1 Seite



View all threads created 2005-01-24 16:21.