Leser: 14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use strict;
use warnings;
my $testString = "Test Hallo Test";
if($testString =~ /Hallo/)
{
my $test =~ /Hallo/;
my $myVar = $1;
print "true $myVar";
}
else
{
print "false\n";
}
2014-05-07T09:21:31 RaubtierDeine Zeile my $test =~ /Hallo/; erscheint mir nutzlos.
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
my $testString = "Test Hallo Test";
if($testString =~ /(Hallo)/)
{
print "true $1\n";
}
else
{
print "false\n";
}
1 2 3
# Kann schief gehen $var =~ /(foo)/; # matcht möglicherweise nicht if($1) {} # wird wahr, wenn in $1 schon was drinsteht
1 2 3 4 5
# besser if($var =~ /(foo)/ ){ # mit $1 kannst Du was anfangen # in $1 kann hier nur 'foo' stehen }
2014-05-07T09:26:19 bandchefEs funktioniert soweit. Die unnütze Zeile braucht man also nicht, weil die nicht explizite Variable $1 schon in der if-Abfrage "befüllt" wird? Ist das richtig?
QuoteIst es guter Stil mit diesen nicht deklarierten Variablen zu arbeiten, oder sollte man diese Variablen lieber generell so zwischenspeichern, wie ich es gemacht habe?
QuoteWie heißen diese $1, $2, $3,... Variablen? Unter welchem Namen findet man da weitere Infos?
1 2 3
if ( my ( $anrede ) = $text =~ m/Sehr geehrter? (\S+)/ ) { print "Anrede: $anrede\n"; }